سوال شماره 4731
چندگزینهای
آزمون رایگان پایتون فنی و حرفه ای
برای ایجاد یک دکوراتور در پایتون که زمان اجرای یک تابع را اندازهگیری کند، کدام ساختار صحیح است؟
گزینهها:
- 1. استفاده از lambda function مستقیم
- 2. استفاده از تابع داخلی و @decorator
- 3. تعریف کلاس با متد __call__ و اعمال آن با @ ✓ صحیح
- 4. تعریف ماژول جداگانه برای هر دکوراتور
پاسخ صحیح:
- تعریف کلاس با متد __call__ و اعمال آن با @
توضیحات:
برای ایجاد دکوراتورهای سفارشی در پایتون، میتوان از دو روش استفاده کرد: تابع یا کلاس. در روش کلاس، با تعریف متد __call__ میتوان نمونهای از کلاس را به عنوان دکوراتور استفاده کرد. این روش امکان نگهداری state بین فراخوانیها را فراهم میکند و برای موارد پیچیدهتر مناسب است. ساختار صحیح شامل تعریف کلاس با متد __call__ و سپس اعمال آن با نماد @ قبل از تابع هدف میباشد.