tgoop.com/pythopiachannel/172
Last Update:
دکوراتور | Decorator
تصور کنید یک کادو خریدید و میخواید اون رو خوشگلتر کنید. چیکار میکنید؟ کادوپیچش میکنید! 🎁 دکوراتورها توی پایتون دقیقاً همین کار رو با توابع ما میکنن.
دکوراتور یک تابع خاصه که یک تابع دیگه رو به عنوان ورودی میگیره و بدون اینکه کد اصلی اون تابع رو تغییر بده، یک قابلیت جدید بهش اضافه میکنه و در نهایت، همون تابع رو با قابلیت جدید برمیگردونه.
به چه دردی میخوره؟
یک مثال معروف اندازهگیری زمان اجرای توابع است.
فرض کنید چندتا تابع مختلف دارید و میخواید زمان اجرای هر کدوم رو اندازه بگیرید. اولین راهی که به ذهن میاد اینه که توی تکتک توابع، قبل و بعد از اجرای کد اصلی، زمان رو ثبت و اختلافش رو حساب کنیم. این کار شدنیه، ولی خیلی تکراری و خستهکننده است و اصل DRY (Don't Repeat Yourself) رو نقض میکنه.
اینجاست که دکوراتورها مثل یک قهرمان وارد میشن! 🦸♂️
@pythopiachannel
BY Pythopia

Share with your friend now:
tgoop.com/pythopiachannel/172