🐍 Python & Raspberry 🐍
7.93K subscribers
1.92K photos
125 videos
623 files
1.23K links
Python- Raspberry Pi-AI-IOT
ادمین : فرهاد ناصری زاده
@farhad_naserizadeh
@farhad3412

گروه پایتون
@Python_QA
تبادل
@mmtahmasbi
کانال مرتبط
@new_mathematical
@micropython_iot
@c_micro
اینستاگرام
https://Instagram.com/python_raspberry
Download Telegram
کی و چرا از Jupyter Notebook استفاده کنیم؟

به نظر من یکی از شاهکارهای تولید شده همین Jupyter Notebook (که برپایه ی Ipython هست) هست. خیلی خلاصه سعی میکنم به ویژگی هایی که داره اشاره کنم:

۱- مناسبترین گزینه برای زمانی که میخواید report ای به کسی یا جایی بفرستید یا جزوه نویسی کنید:
چون میتونید بین کد های پایتونیتون توضیحات بنویسید. اونم نه فقط تکست معمولی بلکه mardown و LaTeX و html و css و حتی چند کلاس آماده ی bootsrtap. چی بهتر از اینکه یه سری کد های پایتونی قابل اجرا همراه با توضیحات زیبا و رنگی در یک داکیومنت.

۲- از مهمترین ویژگی هاش اینکه cell cell ران میکنه کد هارو ولی به چه درد میخوره؟ فرض کنید شما یه کدی دارید مینویسید که درخواست میدید به URL ای و وقتی جوابش اومد یه کاری روش میکنید. اگه توی ماژول پایتونی بنویسید و توی کد هاتون ارور داشته باشید چی میشه؟ درستش میکنید و باید دوباره ران کنید اونوقت باید دوباره درخواست بزنید به اونجا. "وقت گیره"! یه مثال خیلی پرکاربرد تر دیگه، شما نیاز دارید تا یه محاسبات زمانبری و انجام بدید تا یه آرایه نامپای مثلا تشکیل بشه و حالا ازش یه استفاده کنید... دوباره همین داستان اگه ارور داشته باشید باز باید صبر کنید... به جاش میاید اون بخش setup قضیه رو توی یه cell انجام میدید دیگه همیشه داریدش توی رم. جلوتر فقط کد خودتونو ران میکنید.

۳- خب مثل باقی ادیتور ها سینتکس highlighting داره،‌ با تب code completion داره. ارور هارو زیباتر نمایش میده.

۴- قابلیت نمایش plot های مختلف و dataframe های pandas رو به صورت جدولی داخل خودش داره.

۵- وقتی یه document ای نوشتید به کلی فرمت از جمله PDF, HTML, RST, و خود PY خروجی بگیرید مناسب برای ارائه یا به اشتراک گذاری. گزینه آخر یعنی حتی میتونید اونو به ماژول پایتونی خروجی بگیرید و همه چیزایی که نوشتید به عنوان توضیحات میشه comment داخل اون ماژول.

۶- میتونید از magic command های موجود تو ipython استفاده کنید که بعضیاش خیلی مفیدن. (همونا که با % یا %% شروع میشه) از اینجا چک کنید چیزای باحالی داره.

۷- میتونید توش دستورات شل رو هم وارد کنیدو خروجیشو کنار خروجی های پایتونی خودتون هم ببینید حتی اونارو تو کدتون استفاده کنید!!
files = !ls
الان files عه شما یه لیستی از تمام فایل های داخل دایرکتوریتون هست.

۸- میتونید امکاناتش رو با نصب nbextension ها گسترش هم بدید. مثلا code formatter و یا box عه suggestion و یا linter و ... این لینک یا این لینک رو برای نمونه ببینید.

________________________________________
اگه ویژگی خوب دیگه ای رو نگفتم بگید همچنین ضعف هاش رو هم بگید مثلا جاهایی که مناسب نیست استفاده شه. اولین جایی که مناسب نیست اینکه پروژه توش بزنید...چون برای اینکار نیست اصلا. مثلا برای اینکه از یه ipynb توی یه ipynb دیگه چیزی import کنید نمیتونید مستقیم بزنید
from A import B
باید کار اضافه تری انجام بدید.

ولی درکل تو جایی که میشه ازش استفاده کرد فوق العادس 👍🏻

🖊 SorousH
👍15🔥3
Forwarded from Sadra Codes
یه سرویس Database as a Service MySQL هست به اسم PlanetScale. پلن رایگان هم داره بهتون 5 گیگابایت فضا روی AWS میده بدون کردیت یا چیزی.

راحت میتونید سرویس هاتون رو بهش وصل کنید و ازش استفاده کنید.

https://planetscale.com

اگه میخواید سرویس جنگوتون رو بهش وصل کنید، از این پکیجی که نوشتم استفاده کنید. :)

https://github.com/lnxpy/django-psdb-engine
Fluent_Python_Clear,_Concise,_and_Effective_Programming,_2nd_Edition.pdf
15.7 MB
Fluent Python: Clear, Concise, and Effective Programming, 2nd Edition

@raspberry_python
👍4
🐍 Python & Raspberry 🐍
Fluent_Python_Clear,_Concise,_and_Effective_Programming,_2nd_Edition.pdf
Python's simplicity lets you become productive quickly, but often this means you aren't using everything it has to offer. With the updated edition of this hands-on guide, you'll learn how to write effective, modern Python 3 code by leveraging its best ideas. Don't waste time bending Python to fit patterns you learned in other languages. Discover and apply idiomatic Python 3 features beyond your past experience. Author Luciano Ramalho guides you through Python's core language features and libraries and teaches you how to make your code shorter, faster, and more readable. Featuring major updates throughout the book, Fluent Python, second edition, covers: Special methods: The key to the consistent behavior of Python objects Data structures: Sequences, dicts, sets, Unicode, and data classes Functions as objects: First-class functions, related design patterns, and type hints in function declarations Object-oriented idioms: Composition, inheritance, mixins, interfaces, operator overloading, static typing and protocols Control flow: Context managers, generators, coroutines, async/await, and thread/process pools Metaprogramming: Properties, attribute descriptors, class decorators, and new class metaprogramming hooks that are simpler than metaclasses

@raspberry_python
👍1
Discover and organize thousands of tutorials to learn Python for free!

🔎 How to find the tutorial you need?

1. Go to https://lnkd.in/estqMVDg
2. Enter some keywords to search on the desired topic
3. OR click on ‘show extra filters’ (desktop only) and select a title using the ‘Source’ filter.

Did you find a great tutorial and want to learn more on the same topic? Use the ‘Find similar’ button to find tutorials that are similar or complementary to the one that you’re reading!

@raspberry_python
artificial intelligence is taking over 😱

@raspberry_python
😱3👍1
Django_for_Beginners_Build_websites_with_Python_Django_4_0_William.pdf
11.5 MB
[معرفی کتاب] 📚

🔷 Django For Beginners
توجه کنید نسخه های دیگر این کتاب برای ورژن ۳.۱ جنگو هستن ولی این چاپ ۲۰۲۲ کتاب برای ورژن ۴ جنگو بازنویسی شده (به قیمت ۲۹ دلار توی امازون به فروش میره!!!)
جنگو برای مبتدی‌ها

اگر میخواهید جنگو یاد بگیرید و تازه‌کار هستید، این کتاب مناسب شماست. البته برای اینکه بتوانید مطالب این کتاب را بهتر بفهمید، باید پایتون پایه را بلد باشید. این کتاب پروژه محور است و در آن شما پروژه‌های مختلف مثل بلاگ، روزنامه آنلاین و... را میسازید.
👍3
Forwarded from خبرفوری (ادمین ۵)
🔺️دانشمندان:

🔹️ بیش از حد فکر کردن واقعا می‌تواند شما را خسته کند

🔹اگر در پایان یک روز کاری در دفتر شرکت احساس می‌کنید که دیگر انرژی در بدنتان باقی نمانده است، حق دارید، چون بیش از حد فکر کردن واقعا می‌تواند خسته‌کننده باشد. محققان می‌گویند استفاده بیش از اندازه از ماده خاکستری مغز می‌تواند به خستگی ذهنی منجر شود و فرآیند تصمیم‌گیری را سخت‌تر کند.

🔹️به گزارش بلومبرگ، دانشمندان ترکیبات شیمیایی مغز دو گروه از افراد را در طول یک روز کاری اندازه‌گیری کردند. به یک گروه کارهای ساده محول شد ولی گروه دوم کارهایی انجام دادند که از نظر ذهنی سنگین‌تر و پیچیده‌تر بودند. در نتیجه، نشانه‌های خستگی فقط در گروهی دیده شد که کارهای پیچیده‌تر را انجام داده بودند.

@khabarfouri
👍8
Forwarded from خبرفوری (ادمین ۵)
🔺️اینترنت پس از اورست به فتح کلیمانجارو رسید

🔹دسترسی به اینترنت ۴G اکنون در دامنه‌های کلیمانجارو، بلندترین قله آفریقا میسر شده است.

🔹«نیپ نائویه» وزیر فناوری ارتباطات و اطلاعات تانزانیا دیروز در مراسم نصب سیستم خدمات اینترنت در دامنه کلیمانجارو، بلندترین قله قاره آفریقا:

🔹️کوهنوردان حالا به آسانی می‌توانند از قله این کوه بلند و در هرکجا که باشند ارتباط تلفنی و اینترنتی داشته باشند.


@khabarfouri
👍3
Forwarded from 🐍 Python & Raspberry 🐍 (DailyProjects)
👍1👎1
Forwarded from Hamid
❇️ آموزش هندسه متوسطه دوم

📝 توسط دبیر آموزش و پرورش با بيش از ٢٦ سال سابقه تدريس هندسه در مدارس برتر تهران

📕 یادگیری آسان هندسه با فیلم‌های آموزشی
📖 نکات مهم و حل تمرینات کتاب درسی 📐
نکات تستی و آمادگی برای کنکور
🔍 نکات و تمرینات تکمیلی در هر فصل 💡
📊 آمادگی برای امتحانات 💯

@Hendese_Ch
@Hendese_Ch
@Hendese_Ch
Pragmatic Python Programming: Learning Python the Smart Way
🟢2022

@raspberry_python
👍1
Gabor_Guta_Pragmatic_Python_Programming_Learning_Python_the_Smart.pdf
3.3 MB
Gabor Guta - Pragmatic Python Programming_ Learning Python the Smart Way-Apress (2022).pdf


@raspberry_python
👍1
گروه 6000 نفره برنامه نویسی پایتون

👇👇

@python_QA
👍1
👍3
Panic 🥴

_made_by @Pygrammer
👍17🤔2
👍3
سرویس ابری هروکو، که پلن رایگان اون توسط خیلی از برنامه‌نویس‌ها استفاده میشد گفته که از تاریخ ۷ اذر امسال سرویس‌های رایگان رو تعطیل میکنه.

به عنوان جایگزین میتونین از این سرویس‌ها استفاده کنید:
🔵 Fly.io

🔵 Render.com


@raspberry_python
👍4🔥2
✔️ سوال: best practice‌ها و ابزارات مورد نیاز برای توسعه یه بسته، لایبرری یا نرم‌افزار پایتونی چیه؟

ابزارهای زیادی واسه این‌کارا وجود داره که بر اساس تجربه و چیزی که از 80 درصد پروژه های معروف و بزرگ دیدم، سعی میکنم بهتریناش رو معرفی کنم:


Dependency Management System

برای مدیریت وابستگی های یک پروژه بزرگ (یا نسبتا بزرگ)، پیشنهاد میکنم از Poetry استفاده کنید، چون ابزار بسیار قدرتمندی هست، کار باهاش بسیار راحته (خیلی شبیه به Cargo در زبان Rust هست)، کامیونیتی بزرگی داره، به راحتی محیط dev و prod رو میتونید مدیریت کنید، مستندات بسیار خوب و روانی داره، در سریع ترین زمان ممکن میتونید پروژه رو در PyPI منتشر کنید و همچنین پروژه⁧های معروفی از جمله Rich (کتابخونه⁧ای که خود pip هم ازش برای رنگی کردن progress barها استفاده میکنه) از اون استفاده میکنن، که همین نشون میده چقدر کاربردی هست.
همچنین build و run هم توسط Poetry انجام میشه!

- منابع آموزشی:

1. آشنایی و شروع به کار با Poetry
https://realpython.com/dependency-management-python-poetry/

2. جزیات عمیق درباره هر قابلیت و نحوه استفاده
https://python-poetry.org/docs

3. نحوه انتشار یک package پایتونی در PyPI به کمک Poetry
https://johnfraney.ca/blog/create-publish-python-package-poetry/


Linting & Type Checking

برای Linting ابزارهای flake8 و pylint از معروف ترین⁧ها هستن، هر یک رو میتونید شدت سخت گیریشون رو تنظیم کنید، به راحتی همراه با Poetry تنظیماتشون در یک فایل قرار میگیره و نیاز به نگه داشتن فایل⁧های متفاوت برای هر کدوم ندارید. به نظرم خود flake8 به تنهایی نیازتون رو برطرف میکنه. اگر از PyCharm استفاده کنید یک Linter به صورت Built-in در اختیارتون میذاره که خوبه و کارتون رو راه میندازه.

اگر عادت دارید کدهای خودتون رو Annotate کنید و زیاد از Type Hint ها استفاده میکنید، استفاده از MyPy به عنوان یک static type checker به شما کمک میکنه ایرادات موجود در کلاس ها، توابع و ... رو پیدا کنید و بتونید typeهای دقیق تری استفاده کنید. همچنین ابزار Pyright که توسط مایکروسافت توسعه داده میشه، در VSCode به صورت integrated با افزونه Pylance کار میکنه و اگر از VSCode استفاده میکنید پیشنهاد میکنم حتما افزونه Pylance رو نصب کنید. PyCharm هم یک Type Checker داره ولی هنوز توانمندی Pylance و MyPy رو نداره.


- منابع آموزشی:

1. داکیومنت Flake8
https://flake8.pycqa.org/en/latest/user/invocation.html

2. داکیومنت MyPy
https://mypy.readthedocs.io/en/stable/getting_started.html


Code Formatting

برای مرتب و organize کردن importها از isort استفاده کنید، هم به صورت CLI در دسترس هست و هم یک API داره که میتونید در کد پایتون استفاده کنید. یک code formatter بسیار معروف که در اکثر پروژه⁧ها استفاده میشه Black هست، زیر نظر PSF (یا Python Software Foundation) و برنامه نویسای با تجربه و کار کشته ای همچون آقای Łukasz Langa (ریلیس منیجر پایتون 3.9) توسعه داده میشه، با دیگر ابزار ها مثل isort سازگار هست، با PEP8 سازگاره و کلی قابلیت مزیت دیگه داره که حقیقتا اینجا جا نمیشن :)

- منابع آموزشی:

1. داکیومنت isort
https://pycqa.github.io/isort/

2. داکیومنت Black
https://black.readthedocs.io/en/stable/getting_started.html

3. یک ویدیو از PyCon 2019 درباره Black
https://youtu.be/esZLCuWs_2Y

* این ابزارها همگی داکیومنت ساده و خوانایی دارن و به نظرم بهترین منبع همین داکیومنت⁧هاشون هست.


Testing

دو کتابخونه Pytest و unittest (در stdlib موجود هست) در تست نویسی پروژه ها استفاده میشن، برای تست کردن پروژه در environmentهای متفاوت از ابزار tox استفاده میشه و باهاش میتونید در نسخه های متفاوتی از پایتون کدتون رو تست کنید.


- منابع آموزشی:

1. یک مقاله جامع درباره تست نویسی، انواع آن و روش⁧های مورد استفاده در پایتون
https://realpython.com/python-testing/

2. ویدیو درباره unittest در پایتون
- آقای ned batchelder:
https://m.youtube.com/watch?v=FxSsnHeWQBY
- آقای Corey Schafer:
https://www.youtube.com/watch?v=6tNS--WetLI


* همچنین اگر از Git در پروژه خودتون استفاده میکنید، پیشنهاد میکنم از pre-commit حتما استفاده کنید و تمام این ابزارهای گفته شده رو automate کنید تا در هربار commit کردن، قبل از اینکه commit انجام بشه، این ابزارها روی کدتون اجرا بشن و اگر اشکالی در کدتون وجود داره پیدا بشه و اون رو برطرف کنید و دوباره commit کنید.

وبسایت pre commit:
https://pre-commit.com/

✒️ @Pygrammer
〰️〰️〰️〰️〰️〰️〰️
©️@raspberry_python
👍5🔥3