Media is too big
VIEW IN TELEGRAM
⭐️ شما میتونین تعداد فراخوانی های #تابع_بازگشتی رو محدود کنید تا دچاره فراخوانی های بی نهایت و خطا های ناخواسته نشید!
◦•◉✿ @python_rd ✿◉•◦
◦•◉✿ @python_rd ✿◉•◦
❤11
Media is too big
VIEW IN TELEGRAM
✅ به راحتی با یه فرمول ساده، از هر ایندکسی که دوست داری به لیست پایتونیت چرخش بده!
◦•◉✿ @python_rd ✿◉•◦
◦•◉✿ @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 ساعت زمان ببرد ، پس در صورتی که هنوز به این مدل دسترسی ندارید، صبور باشید .
به زبان ساده: چند مدل قبلی 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ها حافظه نمیگیرن تا زمانی که واقعاً ازشون مقدار بخوای
درحالیکه لیست، همه رو همون اول میسازه.
برای کار با دادههای بزرگ، generatorها حیاتیان ⚡️
🐍 @python_rd
🔹 در واقع Generatorها حافظه نمیگیرن تا زمانی که واقعاً ازشون مقدار بخوای
gen = (x**2 for x in range(10**6))
درحالیکه لیست، همه رو همون اول میسازه.
برای کار با دادههای بزرگ، generatorها حیاتیان ⚡️
🐍 @python_rd
👍8
ترفند جمع کردن دیکشنریها
🔹 از پایتون 3.9 به بعد میتونی دیکشنریها رو با عملگر | ترکیب کنی:
🐍 @python_rd
🔹 از پایتون 3.9 به بعد میتونی دیکشنریها رو با عملگر | ترکیب کنی:
a = {'x': 1}; b = {'y': 2}
merged = a | b🐍 @python_rd
🔥5
🔸 خروجی غیرمنتظره😵💫
میدونستید که NaN با خودش هم برابر نیست؟!!!
🔎 طبق استاندارد IEEE-754، NaN با هیچچیز برابر نیست—even خودش.
🐍 @python_rd
میدونستید که NaN با خودش هم برابر نیست؟!!!
import math
nan = float('nan')
print(nan == nan) # False
print(math.isnan(nan)) # True
🔎 طبق استاندارد IEEE-754، NaN با هیچچیز برابر نیست—even خودش.
🐍 @python_rd
🪞 نکته Reflection و بازرسی (Introspection)
🔸 در پایتون میتونی بفهمی یه تابع دقیقاً چه پارامترهایی داره:
یا حتی داکاسترینگش رو بخونی😎
این قابلیت باعث شده ابزارهایی مثل FastAPI یا Typer بتونن از type hintها به صورت خودکار API بسازن🔥
🐍 @python_rd
🔸 در پایتون میتونی بفهمی یه تابع دقیقاً چه پارامترهایی داره:
import inspect
print(inspect.signature(len))
یا حتی داکاسترینگش رو بخونی😎
این قابلیت باعث شده ابزارهایی مثل FastAPI یا Typer بتونن از type hintها به صورت خودکار API بسازن🔥
🐍 @python_rd
🧠 وقتی Context Manager فراتر از ()with open میره
🔸 همه فقط ( )with open رو بلدن، ولی میتونی هر رفتار خاصی رو خودت مدیریت کنی:
✨ نتیجه: بخشهای مختلف برنامهات ساختارمند، تمیز و قابل کنترل میشن🔥
🐍 @python_rd
🔸 همه فقط ( )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 بررسی میکنه دو متغیر دقیقاً به یک شیء در حافظه اشاره میکنن یا نه.
🐍 @python_rd
🔹 تفاوتشون مهمه!
== مقادیر رو مقایسه میکنه، ولی is بررسی میکنه دو متغیر دقیقاً به یک شیء در حافظه اشاره میکنن یا نه.
a = [1, 2]; b = [1, 2]
print(a == b) # True
print(a is b) # False
🐍 @python_rd
🔥2
🔸 استفاده از ( )enumerate
🔹 وقتی توی یه حلقه هم به اندیس نیاز داری هم به مقدار، از enumerate استفاده کن
✨ دیگه نیازی به range(len(...)) نداری!
🐍 @python_rd
🔹 وقتی توی یه حلقه هم به اندیس نیاز داری هم به مقدار، از enumerate استفاده کن
for i, value in enumerate(['a', 'b', 'c']):
print(i, value)
✨ دیگه نیازی به range(len(...)) نداری!
🐍 @python_rd
🧩 نکته: Decoratorها در عمل (بدون پیچیدگی!)
🔹 دکوراتورها فقط ظاهر شیک نیستن؛ ابزاری برای جداکردن منطق اصلی از کنترلهای تکراری هستن.
مثلاً برای محاسبه زمان اجرا:
🐍 @python_rd
🔹 دکوراتورها فقط ظاهر شیک نیستن؛ ابزاری برای جداکردن منطق اصلی از کنترلهای تکراری هستن.
مثلاً برای محاسبه زمان اجرا:
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