TGViewer
PyCoders (پایتون) PyCoders (پایتون) @python_rd · 4.1K subscribers
Post #2153 446
🔆 ترفند: کد تمیزتر و سریع‌تر با dict.get() به جای if-else


🔹 خیلی از برنامه‌نویس‌ها موقع گرفتن مقدار از یک دیکشنری، اول بررسی می‌کنن ببینن کلید وجود داره یا نه. این کار کد رو طولانی و شلوغ می‌کنه.


🔹 روش معمولی و شلوغ:
user_data = {"name": "Reza", "role": "Developer"}

if "age" in user_data:
age = user_data["age"]
else:
age = 18 # مقدار پیش‌فرض

print(age)

🔹 روش حرفه‌ای:
user_data = {"name": "Reza", "role": "Developer"}

# اگر کلید نباشه، خودکار مقدار پیش‌فرض رو برمی‌گردونه
age = user_data.get("age", 18)

print(age)

🔹 چرا این روش بهتره؟

* کد کوتاه‌تر: ۴ خط کد تبدیل به ۱ خط میشه.
* جلوگیری از KeyError: اگر کلید وجود نداشته باشه، برنامه‌ت کرش نمیکنه.
* خوانایی بالا: کدت خواناتر و حرفه‌ای‌تر به‌نظر می‌رسه.

🔹 نکته: اگر مقدار دوم متد .get() رو مشخص نکنی، به صورت پیش‌فرض None برمی‌گردونه.

🐍 @python_rd
More from @python_rd
  1. Oct 15, 2026🔆 آیا enumerate() بهتر از index-based loop است؟ 🔹 خیلی‌ها هنوز این شکلی می‌نویسند: items…
  2. Oct 15, 2026🔆 یک تله عجیب در پایتون: bool در واقع زیرکلاس int است 🔹 خیلی‌ها می‌دانند True == 1 و Fal…
  3. Oct 13, 2026کوییز پایتون 🔆 خروجی اجرای کد زیر چیست؟ t = (1, 2, [3, 4]) try: t[2] += [5] except TypeEr…
  4. Oct 13, 2026🔆 راز مکانیزم پیاده‌سازی و تغییر جهت NaN در الگوریتم مرتب‌سازی پایتون (Timsort) 🔹 باگ ری…
  5. Oct 13, 2026🔆 حذف تاریخی GIL از پایتون (Free-threaded Python) 🔹 یک رویداد تاریخی: حذف قفل مفسر (GIL)…
  6. Oct 11, 2026🔆 مدیریت تمیز منابع با Context Managerهای سفارشی (contextlib) 🔹 ساخت Context Managerها م…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →