| کانال توسعهدهندگان پایتون |
照片
点击显示
点击显示
照片
点击显示
点击显示
آرگومان پیشفرض لیست؛ باگ خفن ولی بیسروصدا 😅
خیلیها (حتی حرفهایها) یه زمانی این سوتی رو تو پایتون دادن: استفاده از list یا هر آبجکت قابلتغییر دیگه بهعنوان آرگومان پیشفرض.
تو کد اول، لیست فقط یکبار ساخته میشه و بین همهٔ صدا زدنهای تابع بهاشتراک گذاشته میشه؛ واسه همین هر بار که تابع رو صدا میزنی، خروجی قبلی توش مونده و باگهای عجیبی میگیری.
تو کد دوم، بهجاش از None بهعنوان پیشفرض استفاده شده و داخل تابع هر بار یه لیست تازه ساخته میشه. این الگوی درست و امنه و از Memory Leakهای منطقی و رفتارهای غیرقابلپیشبینی جلوگیری میکنه.
هر وقت خواستی آرگومان پیشفرض قابلتغییر بذاری، یادت بیاد این ترفند None رو استفاده کنی 😉
🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython
14 · 2K ·