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

■ گروه پایتون:
@programmers_py
Download Telegram
5
مصاحبه‌های خودتان را با Whisper تحلیل کنید

‌وwhisper یک مدل تشخیص خودکار گفتار (ASR) از OpenAI است که به زبان پایتون نوشته شده است. این مدل به شما امکان می‌دهد فایل‌های صوتی را به متن تبدیل کنید، از چندین زبان پشتیبانی می‌کند و می‌تواندزبانگفتار را تشخیص دهد
👍1
هر مدل ChatGPT به درد چه کاری می‌خورد؟

🆒 شرکت OpenAI، سازنده ChatGPT، اخیرا راهنمایی منتشر کرده تا مشخص شود کدام مدل به درد چه کاری می‌خورد.

🆒 چون مدل‌های زبانی همیشه دقیق نیستند و ممکن است در یک زمینه قوی و در زمینه‌ای دیگر ضعیف باشند، ترجیح داده‌اند به‌جای ساخت یک مدل همه‌کاره، چند مدل تخصصی بسازند.

GPT-4o:
این مدل، که در نسخه رایگان ChatGPT هم در دسترس است، برای کارهای روزمره مثل نوشتن ایمیل، خلاصه کردن متن، تولید محتوا و حتی جستجوی آنلاین خوب است. البته ممکن است گاهی اطلاعات اشتباه بدهد.

GPT-4.5:
اگر دنبال لحن انسانی‌تر و احساسی‌تر هستید، این مدل انتخاب خوبی است. مثلاً برای نوشتن پست اینستاگرام، پاسخ به مشتری یا متن تبلیغاتی می‌تواند عالی عمل کند.

o4-mini:
این یکی سبک‌تر و سریع‌تر است. به‌درد کارهای فنی و ساده مثل بررسی کد، خلاصه‌سازی مقاله یا تحلیل سریع فایل‌های دیتا می‌خورد. اما چون کوچکتر است، بیشتر هم اشتباه می‌کند.

o4-mini-high:
نسخه قوی‌تر o4-mini است. اگر بخواهید مفاهیم علمی سخت را ساده توضیح دهید یا مسائل پیچیده ریاضی و دیتابیس را حل کنید، این مدل کمک‌تان می‌کند.

o3:
با اینکه مدل قدیمی‌تری است، اما برای پروژه‌های سنگین مثل برنامه‌ریزی‌های طولانی، تحلیل استراتژیک یا کدنویسی‌های چندمرحله‌ای خیلی خوب جواب می‌دهد.

o1 pro mode:
این مدل هم قدیمی است اما هنوز دقت و منطق خوبی دارد. مناسب تولید گزارش‌های دقیق، خلاصه‌سازی پژوهش‌های علمی یا تحلیل مالی است و نسبت به بقیه مدل‌ها کمتر اشتباه می‌کند.

در حال حاضر فقط GPT-4o و o4-mini را می‌توانید به‌صورت رایگان استفاده کنید. برای دسترسی به بقیه مدل‌ها باید اشتراک ChatGPT Plus داشته باشید
8
This media is not supported in your browser
VIEW IN TELEGRAM
⭐️ میدونستید برای round تو پایتون همچین آرگومانی هم میتونید بهش بدید؟

◦•◉✿ @python_rd ✿◉•◦
8🔥2
Media is too big
VIEW IN TELEGRAM
⭐️ شما میتونین تعداد فراخوانی های #تابع_بازگشتی رو محدود کنید تا دچاره فراخوانی های بی نهایت و خطا های ناخواسته نشید!

◦•◉✿ @python_rd ✿◉•◦
11
Media is too big
VIEW IN TELEGRAM
به راحتی با یه فرمول ساده، از هر ایندکسی که دوست داری به لیست پایتونیت چرخش بده!

◦•◉✿ @python_rd ✿◉•◦
13
📱 Open ai پس از انتشار مدل جدید یعنی GPT 5 تصمیم به حذف تمام مدل های قدیمی خود گرفته تا بتواند تمام تمرکز خود را بر روی این مدل بگذارد .

به زبان ساده: چند مدل قبلی ChatGPT—مثل GPT‑4، GPT‑4.5، o1، o3 و مدل‌های mini/compact—دیگر در دسترس نیستند چون OpenAI از امروز، ۷ اوت ۲۰۲۵ تنها روی مدل جدید و واحد خود یعنی GPT‑5 متمرکز شده است.

⚠️ دلیل غیرفعال‌ شدن سایر مدل‌ها:

یکپارچه‌سازی و ساده‌سازی تجربه‌ی کاربر
OpenAI با معرفی GPT‑5 تصمیم گرفته تجربه‌ی استفاده را ساده کند: دیگر نیازی نیست بین مدل‌ها انتخاب کنید؛ سیستم هوشمند به‌صورت خودکار بر اساس پیچیدگی و نوع درخواست، مناسب‌ترین نسخه (مانند GPT‑5 standard یا mini) را انتخاب می‌کند.

جایگزینی مدل‌های قدیمی با یک مدل پیشرفته‌تر و قدرتمندتر
تمامی قابلیت‌های مدل‌های قبلی—مثل توانایی‌های reasoning، مولتی‌مدالیتی، و گزینه‌های مختلف—در GPT‑5 تجمیع شده‌اند. به‌عبارتی، مدل‌های دیگر حذف شده‌اند چون همه چیز در قالب GPT‑5 عرضه می‌شود.

🔼وضعیت دسترسی برای کاربران مختلف:

کاربران رایگان
به نسخه‌ی اصلی GPT‑5 و نسخه‌ی سبک‌تر یعنی GPT‑5 mini دسترسی دارند، البته با محدودیت استفاده.

کاربران Plus و Pro
علاوه بر مدل‌های اصلی، دسترسی به نسخه‌هایی چون GPT‑5 Pro و GPT‑5 Thinking برای پردازش‌های پیچیده‌تر فراهم شده است. همچنین، کاربران Pro ممکن است حق انتخاب مدل‌های قدیمی‌تر را هم داشته باشند.

فعالسازی این مدل جدید برای تمام مشترکین سراسر جهان ممکن است بین 24 تا 48 ساعت زمان ببرد ، پس در صورتی که هنوز به این مدل دسترسی ندارید، صبور باشید .
👍2
🔄 نکته: Generatorها در مقابل Listها

🔹 در واقع Generatorها حافظه نمی‌گیرن تا زمانی که واقعاً ازشون مقدار بخوای

gen = (x**2 for x in range(10**6))


درحالی‌که لیست، همه رو همون اول می‌سازه.
برای کار با داده‌های بزرگ، generatorها حیاتی‌ان ⚡️


🐍 @python_rd
👍9
ترفند جمع کردن دیکشنری‌ها

🔹 از پایتون 3.9 به بعد می‌تونی دیکشنری‌ها رو با عملگر | ترکیب کنی:

a = {'x': 1}; b = {'y': 2}
merged = a | b


🐍 @python_rd
🔥6
🔸 خروجی غیرمنتظره😵‍💫

میدونستید که NaN با خودش هم برابر نیست؟!!!

import math
nan = float('nan')
print(nan == nan) # False
print(math.isnan(nan)) # True



🔎 طبق استاندارد IEEE-754، NaN با هیچ‌چیز برابر نیست—even خودش.


🐍 @python_rd
🪞 نکته Reflection و بازرسی (Introspection)

🔸‌ در پایتون می‌تونی بفهمی یه تابع دقیقاً چه پارامترهایی داره:


import inspect
print(inspect.signature(len))


یا حتی داک‌استرینگش رو بخونی😎

این قابلیت باعث شده ابزارهایی مثل FastAPI یا Typer بتونن از type hintها به صورت خودکار API بسازن🔥


🐍 @python_rd
🧠 وقتی Context Manager فراتر از ()with open میره

🔸 همه فقط ( )with open رو بلدن، ولی می‌تونی هر رفتار خاصی رو خودت مدیریت کنی:


from contextlib import contextmanager

@contextmanager
def step(name):
print(f"Start {name}")
yield
print(f"End {name}")

with step("Download"):
print("Downloading...")


نتیجه: بخش‌های مختلف برنامه‌ات ساختارمند، تمیز و قابل کنترل میشن🔥


🐍 @python_rd
2
🔸 مقایسه is و ==

🔹 تفاوتشون مهمه!
== مقادیر رو مقایسه می‌کنه، ولی is بررسی می‌کنه دو متغیر دقیقاً به یک شیء در حافظه اشاره می‌کنن یا نه.

a = [1, 2]; b = [1, 2]
print(a == b) # True
print(a is b) # False


🐍 @python_rd
🔥2
🔸 استفاده از ( )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
1🙏1
🧬 پایتون فقط زبان نیست؛ یک ذهنیت تفسیری

پایتون مثل 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