TGViewer
| کانال توسعه‌دهندگان پایتون | | کانال توسعه‌دهندگان پایتون | @developixpython · 7.7K subscribers
Post #191 1.54K
آرگومان پیش‌فرض لیست؛ باگ خفن ولی بی‌سر‌و‌صدا 😅

خیلی‌ها (حتی حرفه‌ای‌ها) یه زمانی این سوتی رو تو پایتون دادن: استفاده از list یا هر آبجکت قابل‌تغییر دیگه به‌عنوان آرگومان پیش‌فرض.

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

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

هر وقت خواستی آرگومان پیش‌فرض قابل‌تغییر بذاری، یادت بیاد این ترفند None رو استفاده کنی 😉


🔖 #Python #پایتون

👤 Developix

💎 Channel: @DevelopixPython
  • 👍 10
  • ❤ 4
More from @developixpython
  1. Sep 30, 2026💠 نسخه جدید کتابخانه FastAPI منتشر شده است 🔸 ارتقا از نسخه 0.141.1 به 0.142.2 🔖 #fastap…
  2. Sep 6, 2026🔥 پروژه: مهارت‌های تحقیق آکادمیک با Claude Code اگر برای پروژه‌های پایتونی مقاله، مستندات…
  3. Aug 24, 2026خیلی وقت‌ها با باگ‌های عجیب روبه‌رو می‌شویم که فقط به خاطر یک فاصلهٔ اضافی یا خط‌جدید ته ر…
  4. Aug 12, 2026🔥 پروژه: ‏DSPy فریم‌ورک برنامه‌نویسی LLM DSPy یه فریم‌ورک پایتونی از آزمایشگاه NLP اس…
  5. Aug 9, 2026مدیریت درست resource مثل فایل، connection دیتابیس یا lock، کلی باگ و Memory Leak بالقوه را…
  6. Aug 8, 2026💠 نسخه جدید فریمورک جنگو (Django) منتشر شده است 🔸 ارتقا از نسخه 6.0.8 به 6.1.0 🔹 لیست ت…
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 →