🐍 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
@raspberry_python
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
🔎 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
Forwarded from Persian python
سلام دوستان وقتتون بخیر
ویدیو پلی لیست آموزش برنامه نویسی شئ گرایی آپلود شد
قسمت 7
موضوع :
Class Property
name mangling
یک _ یا دوتا __ ؟ کدوم ؟
امیدوارم که مفید بوده باشه
میتونین از لینک تماشا کنید
لینک گیت هاب :
https://github.com/persianpython/PythonObjectOriented
ویدیو پلی لیست آموزش برنامه نویسی شئ گرایی آپلود شد
قسمت 7
موضوع :
Class Property
name mangling
یک _ یا دوتا __ ؟ کدوم ؟
امیدوارم که مفید بوده باشه
میتونین از لینک تماشا کنید
لینک گیت هاب :
https://github.com/persianpython/PythonObjectOriented
YouTube
آموزش برنامه نویسی شئ گرایی در پایتون مقدماتی تا پیشرفته ( قسمت هفتم) ( Class property )
سلام به کانال یوتیوبی پرشین پایتون خوش آمدید
تو این پلی لیست سعی دارم که مباحث شئ گرایی رو از مقدماتی تا پیشرفته توضیح بدم
که شامل دوستانی که اصلا از شئ گرایی و کلاس ها اطلاعاتی ندارن هم میشه
در این پلی لیست بجز موارد شئ گرایی درمورد تمیز نویسی و اینکه چطور…
تو این پلی لیست سعی دارم که مباحث شئ گرایی رو از مقدماتی تا پیشرفته توضیح بدم
که شامل دوستانی که اصلا از شئ گرایی و کلاس ها اطلاعاتی ندارن هم میشه
در این پلی لیست بجز موارد شئ گرایی درمورد تمیز نویسی و اینکه چطور…
Django_for_Beginners_Build_websites_with_Python_Django_4_0_William.pdf
11.5 MB
[معرفی کتاب] 📚
🔷 Django For Beginners
توجه کنید نسخه های دیگر این کتاب برای ورژن ۳.۱ جنگو هستن ولی این چاپ ۲۰۲۲ کتاب برای ورژن ۴ جنگو بازنویسی شده (به قیمت ۲۹ دلار توی امازون به فروش میره!!!)
➕ جنگو برای مبتدیها
اگر میخواهید جنگو یاد بگیرید و تازهکار هستید، این کتاب مناسب شماست. البته برای اینکه بتوانید مطالب این کتاب را بهتر بفهمید، باید پایتون پایه را بلد باشید. این کتاب پروژه محور است و در آن شما پروژههای مختلف مثل بلاگ، روزنامه آنلاین و... را میسازید.
🔷 Django For Beginners
توجه کنید نسخه های دیگر این کتاب برای ورژن ۳.۱ جنگو هستن ولی این چاپ ۲۰۲۲ کتاب برای ورژن ۴ جنگو بازنویسی شده (به قیمت ۲۹ دلار توی امازون به فروش میره!!!)
➕ جنگو برای مبتدیها
اگر میخواهید جنگو یاد بگیرید و تازهکار هستید، این کتاب مناسب شماست. البته برای اینکه بتوانید مطالب این کتاب را بهتر بفهمید، باید پایتون پایه را بلد باشید. این کتاب پروژه محور است و در آن شما پروژههای مختلف مثل بلاگ، روزنامه آنلاین و... را میسازید.
Forwarded from خبرفوری (ادمین ۵)
🔺️دانشمندان:
🔹️ بیش از حد فکر کردن واقعا میتواند شما را خسته کند
🔹اگر در پایان یک روز کاری در دفتر شرکت احساس میکنید که دیگر انرژی در بدنتان باقی نمانده است، حق دارید، چون بیش از حد فکر کردن واقعا میتواند خستهکننده باشد. محققان میگویند استفاده بیش از اندازه از ماده خاکستری مغز میتواند به خستگی ذهنی منجر شود و فرآیند تصمیمگیری را سختتر کند.
🔹️به گزارش بلومبرگ، دانشمندان ترکیبات شیمیایی مغز دو گروه از افراد را در طول یک روز کاری اندازهگیری کردند. به یک گروه کارهای ساده محول شد ولی گروه دوم کارهایی انجام دادند که از نظر ذهنی سنگینتر و پیچیدهتر بودند. در نتیجه، نشانههای خستگی فقط در گروهی دیده شد که کارهای پیچیدهتر را انجام داده بودند.
@khabarfouri
🔹️ بیش از حد فکر کردن واقعا میتواند شما را خسته کند
🔹اگر در پایان یک روز کاری در دفتر شرکت احساس میکنید که دیگر انرژی در بدنتان باقی نمانده است، حق دارید، چون بیش از حد فکر کردن واقعا میتواند خستهکننده باشد. محققان میگویند استفاده بیش از اندازه از ماده خاکستری مغز میتواند به خستگی ذهنی منجر شود و فرآیند تصمیمگیری را سختتر کند.
🔹️به گزارش بلومبرگ، دانشمندان ترکیبات شیمیایی مغز دو گروه از افراد را در طول یک روز کاری اندازهگیری کردند. به یک گروه کارهای ساده محول شد ولی گروه دوم کارهایی انجام دادند که از نظر ذهنی سنگینتر و پیچیدهتر بودند. در نتیجه، نشانههای خستگی فقط در گروهی دیده شد که کارهای پیچیدهتر را انجام داده بودند.
@khabarfouri
Forwarded from خبرفوری (ادمین ۵)
🔺️اینترنت پس از اورست به فتح کلیمانجارو رسید
🔹دسترسی به اینترنت ۴G اکنون در دامنههای کلیمانجارو، بلندترین قله آفریقا میسر شده است.
🔹«نیپ نائویه» وزیر فناوری ارتباطات و اطلاعات تانزانیا دیروز در مراسم نصب سیستم خدمات اینترنت در دامنه کلیمانجارو، بلندترین قله قاره آفریقا:
🔹️کوهنوردان حالا به آسانی میتوانند از قله این کوه بلند و در هرکجا که باشند ارتباط تلفنی و اینترنتی داشته باشند.
@khabarfouri
🔹دسترسی به اینترنت ۴G اکنون در دامنههای کلیمانجارو، بلندترین قله آفریقا میسر شده است.
🔹«نیپ نائویه» وزیر فناوری ارتباطات و اطلاعات تانزانیا دیروز در مراسم نصب سیستم خدمات اینترنت در دامنه کلیمانجارو، بلندترین قله قاره آفریقا:
🔹️کوهنوردان حالا به آسانی میتوانند از قله این کوه بلند و در هرکجا که باشند ارتباط تلفنی و اینترنتی داشته باشند.
@khabarfouri
Forwarded from 🐍 Python & Raspberry 🐍 (DailyProjects)
📊bashplotlib
bashplotlib is a python package and command line tool for making basic plots in the terminal.
$ pip install bashplotlib
https://github.com/glamp/bashplotlib
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjlk-H0xtL5AhXqkosKHesODgcQFnoECBIQAQ&url=https%3A%2F%2Fpypi.org%2Fproject%2Fbashplotlib%2F&usg=AOvVaw3bHpWzfsTU5HlCMRkEhZj6
@raspberry_python
bashplotlib is a python package and command line tool for making basic plots in the terminal.
$ pip install bashplotlib
https://github.com/glamp/bashplotlib
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjlk-H0xtL5AhXqkosKHesODgcQFnoECBIQAQ&url=https%3A%2F%2Fpypi.org%2Fproject%2Fbashplotlib%2F&usg=AOvVaw3bHpWzfsTU5HlCMRkEhZj6
@raspberry_python
Forwarded from Hamid
❇️ آموزش هندسه متوسطه دوم
📝 توسط دبیر آموزش و پرورش با بيش از ٢٦ سال سابقه تدريس هندسه در مدارس برتر تهران
📕 یادگیری آسان هندسه با فیلمهای آموزشی
📖 نکات مهم و حل تمرینات کتاب درسی 📐
✅ نکات تستی و آمادگی برای کنکور ⏳
🔍 نکات و تمرینات تکمیلی در هر فصل 💡
📊 آمادگی برای امتحانات 💯
@Hendese_Ch
@Hendese_Ch
@Hendese_Ch
📝 توسط دبیر آموزش و پرورش با بيش از ٢٦ سال سابقه تدريس هندسه در مدارس برتر تهران
📕 یادگیری آسان هندسه با فیلمهای آموزشی
📖 نکات مهم و حل تمرینات کتاب درسی 📐
✅ نکات تستی و آمادگی برای کنکور ⏳
🔍 نکات و تمرینات تکمیلی در هر فصل 💡
📊 آمادگی برای امتحانات 💯
@Hendese_Ch
@Hendese_Ch
@Hendese_Ch
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
@raspberry_python
Object Detection and Instance Segmentation in Python with Detectron2
https://stackabuse.com/object-detection-and-instance-segmentation-in-python-with-detectron2/
@raspberry_python
https://stackabuse.com/object-detection-and-instance-segmentation-in-python-with-detectron2/
@raspberry_python
📊 Making plots in your terminal with plotext
https://pybit.es/articles/terminal-plotting-with-plotext/
@raspberry_python
https://pybit.es/articles/terminal-plotting-with-plotext/
@raspberry_python
سرویس ابری هروکو، که پلن رایگان اون توسط خیلی از برنامهنویسها استفاده میشد گفته که از تاریخ ۷ اذر امسال سرویسهای رایگان رو تعطیل میکنه.
به عنوان جایگزین میتونین از این سرویسها استفاده کنید:
🔵 Fly.io
🔵 Render.com
@raspberry_python
به عنوان جایگزین میتونین از این سرویسها استفاده کنید:
🔵 Fly.io
🔵 Render.com
@raspberry_python
✔️ سوال: best practiceها و ابزارات مورد نیاز برای توسعه یه بسته، لایبرری یا نرمافزار پایتونی چیه؟
ابزارهای زیادی واسه اینکارا وجود داره که بر اساس تجربه و چیزی که از 80 درصد پروژه های معروف و بزرگ دیدم، سعی میکنم بهتریناش رو معرفی کنم:
Dependency Management System
برای مدیریت وابستگی های یک پروژه بزرگ (یا نسبتا بزرگ)، پیشنهاد میکنم از
همچنین
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
برای
اگر عادت دارید کدهای خودتون رو
1. داکیومنت Flake8
https://flake8.pycqa.org/en/latest/user/invocation.html
2. داکیومنت MyPy
https://mypy.readthedocs.io/en/stable/getting_started.html
Code Formatting
برای مرتب و
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
دو کتابخونه
1. یک مقاله جامع درباره تست نویسی، انواع آن و روشهای مورد استفاده در پایتون
https://realpython.com/python-testing/
2. ویدیو درباره unittest در پایتون
https://m.youtube.com/watch?v=FxSsnHeWQBY
https://www.youtube.com/watch?v=6tNS--WetLI
* همچنین اگر از
وبسایت pre commit:
https://pre-commit.com/
✒️ @Pygrammer
〰️〰️〰️〰️〰️〰️〰️
©️@raspberry_python
ابزارهای زیادی واسه اینکارا وجود داره که بر اساس تجربه و چیزی که از 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