PyCoders (پایتون)
4.28K subscribers
949 photos
140 videos
67 files
196 links
#پایتون جادوگر دنیای برنامه نویسی!
◇ معرفی حوزه های کاری پایتون
◇ معرفی کتابخونه های کاربردی
◇ معرفی دوره های مفید
◇ معرفی تکنیک ها و نکات
◇ نقشه راه حوزه های مختلف
◇ اخبار و آپدیت های پایتون
◇ و هر چیزی در مورد پایتون!

■ گروه پایتون:
@programmers_py
Download Telegram
🔸 استفاده از ( )enumerate

🔹 وقتی توی یه حلقه هم به اندیس نیاز داری هم به مقدار، از enumerate استفاده کن

for i, value in enumerate(['a', 'b', 'c']):
print(i, value)


دیگه نیازی به range(len(...)) نداری!


🐍 @python_rd
🧩 نکته: Decoratorها در عمل (بدون پیچیدگی!)

🔹 دکوراتورها فقط ظاهر شیک نیستن؛ ابزاری برای جداکردن منطق اصلی از کنترل‌های تکراری‌ هستن.
مثلاً برای محاسبه زمان اجرا:

import time

def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f"⏱️ {func.__name__} took {time.time()-start:.3f}s")
return result
return wrapper

@timer
def slow_func():
time.sleep(1)

slow_func()


🐍 @python_rd
🚀 استفاده از lru_cache@ برای افزایش سرعت توابع

🔹 در محاسبات بازگشتی یا تکراری، کش کردن نتایج فوق‌العاده مؤثره:

from functools import lru_cache

@lru_cache(maxsize=None)
def fib(n):
return n if n < 2 else fib(n-1) + fib(n-2)

print(fib(35))


اجرای این تابع با کش، صدها برابر سریع‌تر از حالت عادیه.


🐍 @python_rd
🙏1
🔸 نکته کاربردی از list comprehension

🔹 خیلی از تازه‌کارها هنوز از for معمولی برای ساخت لیست استفاده می‌کنن، درحالی‌که می‌تونن با یه خط کد خلاصش کنن:

squares = [x**2 for x in range(10)]


این روش نه‌تنها کوتاه‌تره، بلکه سریع‌تر هم اجرا می‌شه.


🐍 @python_rd
🙏21
🧬 پایتون فقط زبان نیست؛ یک ذهنیت تفسیری

پایتون مثل C کامپایل نمی‌شه؛ تفسیر می‌شه.
اما بدون که “تفسیر” یعنی می‌تونی در زمان اجرا خودت رو تغییر بدی!

for name, obj in globals().items():
if callable(obj):
print("🔹", name)


🔸 این یعنی پایتون می‌تونه خودش رو «بررسی» کنه. چیزی که توی زبان‌های استاتیک خیلی سخت‌تره.


🐍 @python_rd
👍1👎1
⚗️ متا‌برنامه‌نویسی (Metaprogramming) در پایتون

در پایتون می‌تونی کدی بنویسی که کد تولید کنه!

def make_adder(n):
return lambda x: x + n

add5 = make_adder(5)
print(add5(10)) # 15


🔹 این یعنی تو داری “تابع‌ساز” می‌نویسی. در پروژه‌های بزرگ (مثل Django ORM) این مفهوم پشت صحنه کلی کار جادویی می‌کنه.


🐍 @python_rd
👍1👎1
🐍 چه پکیج‌ پایتونی استفاده کنیم؟

این پست برای وقتیه که می‌گی:
«برای فلان کار تو پایتون چی خوبه؟»


1️⃣ برای Web Scraping

🔅 پکیج requests → ساده‌ترین راه برای گرفتن HTML / API

🔅 پکیج httpx → نسخه مدرن‌تر (sync + async)

🔅 پکیج beautifulsoup4 → پارس‌کردن HTML مثل کره 😄

🔅 پکیج scrapy → برای پروژه‌های اسکرپینگ جدی و بزرگ

🔅 پکیج playwright → وقتی سایت بدون جاوااسکریپت لود نمیشه




2️⃣ برای Data Cleaning (پاک‌سازی داده)

🔅 پکیج pandas → سلطان دیتافریم؛ فیلتر، groupby، merge و…

🔅 پکیج polars → شبیه pandas ولی خیلی سریع‌تر (columnar engine)

🔅 پکیج pyjanitor → روی pandas سوار میشه، تابع‌های تمیزکاری آماده

🔅 پکیج rapidfuzz → برای matching فازی روی متن‌ها (مثلاً تمیز کردن اسامی)




3️⃣ برای Async Programming (غیرهمزمان / concurrent)

🔅 پکیج asyncio → هسته اصلی async در پایتون

🔅 پکیج aiohttp → درخواست‌های HTTP به صورت async

🔅 پکیج anyio / trio → فریمورک‌های مدرن‌تر برای async

🔅 پکیج httpx → دوباره اینجا هم هست، چون async رو خوب ساپورت می‌کنه




4️⃣ برای ساخت Web API

🔅 پکیج fastapi → سریع، تایپ‌هینت‌دوست، داک خودکار

🔅 پکیج flask → مینیمال و ساده برای APIهای سبک

🔅 پکیج django-rest-framework → وقتی backend سنگین و full-feature می‌خوای




5️⃣ برای Automation / اسکریپت‌های خودکار

🔅 پکیج apscheduler → اجرای کارها زمان‌بندی‌شده (هر روز، هر ساعت و…)

🔅 پکیج celery → پردازش background / task queue در مقیاس بزرگ

🔅 پکیج invoke → شبیه makefile ولی داخل پایتون برای اتوماسیون کارهای dev




6️⃣ برای لاگ‌گیری و Debug بهتر

🔅 پکیج loguru → لاگ‌نویسی شیک و راحت‌تر از لاگر پیش‌فرض

🔅 پکیج rich → نمایش رنگی لاگ‌ها، جدول، tracebackهای قشنگ

🔅 پکیج icecream → دیباگ سریع با print خوشگل (ic())




7️⃣ برای ساخت CLI (برنامه خط فرمان)

🔅 پکیج typer → روی click ساخته شده، با type hints، فوق‌العاده راحت

🔅 پکیج click → کلاسیک و پایدار برای CLI

🔅 پکیج argparse → ماژول built-in؛ برای کارهای ساده




8️⃣ برای Data Science / ML پایه

🔅 پکیج numpy → پایه همه‌چیز؛ آرایه‌های عددی

🔅 پکیج pandas → مدیریت دیتا جدولی

🔅 پکیج scikit-learn → الگوریتم‌های ML کلاسیک (Classification, Regression و…)

🔅 پکیج scipy → محاسبات علمی، توزیع‌ها، بهینه‌سازی




9️⃣ برای NLP و کار با متن

🔅 پکیج nltk → قدیمی ولی هنوز کاربردی برای آموزش و کارهای کلاسیک

🔅 پکیج spaCy → سریع و صنعتی برای NLP

🔅 پکیج transformers (از HuggingFace) → مدل‌های BERT, GPT و… آماده استفاده




🔟 برای کدنویسی تمیز و پایدار

🔅 پکیج black → فرمت‌کننده کد؛ هر بار یک استایل ثابت

🔅 پکیج isort → مرتب‌سازی importها

🔅 پکیج mypy → چک‌کردن typeها

🔅 پکیج pytest → تست‌نویسی راحت و حرفه‌ای


🐍 @python_rd
5🔥1
💚 جمعه سبز سبزلرن
70% تخفیف روی دوره‌های سبزلرن

این فرصت فوق‌العاده رو از دست ندید


🔸لینک دوره الگوریتم:
https://sabzlearn.ir/course/algorithm/


🔸لینک دوره متخصص پایتون:
https://sabzlearn.ir/course/python/


🔸لینک دوره متخصص جنگو:
https://sabzlearn.ir/course/django-ex/

🔸لینک دوره پروژه‌های کاربردی پایتون:
https://sabzlearn.ir/course/applied-projects-with-python/


🔸لینک دوره بهینه‌نویسی پایتون:
https://sabzlearn.ir/course/python-code-optimization/


🔸لینک دوره مصورسازی داده‌ها:
https://sabzlearn.ir/course/data-visualization-with-python/


🐍 @python_rd
1