آموزش دکوراتور singledispatch از ماژول functools پایتون

September 2022

دانلود ویدیو

اگر دانلود ویدیو شروع نشد، روی ویدیو راست کلیک کرده و گزینه Save Video As را انتخاب کنید.

در این ویدیو با دکوراتور singledispatch پایتون آشنا خواهید شد. دکوراتور singledispatch متعلق به ماژول functools بوده و در پایتون نسخه 3.4 اضافه شده است. دکوراتور singledispatch برای تبدیل تابع به یک تابع عمومی استفاده میشود که بسته به نوع آرگومان اول می تواند رفتارهای متفاوتی داشته باشد.

 

تابعی که دکوراتور singledispatch روی آن استفاده شده به عنوان تابع پیشفرض قرار گرفته و با استفاده از register میتوانید دیگر توابع را پیاده سازی کنید. اگر توابع مشخص شده با register نوع داده ورودی را کنترل نکنند، تابع پیشفرض اجرا خواهد شد.

from functools import singledispatch
  
@singledispatch
def fun(s):
    print(s)
  
@fun.register(int)
def _1(s):
    print(s * 2)
  
@fun.register(list)
def _2(s):
    for i, e in enumerate(s):print(i, e)
  
fun('mongard')
fun(10)
fun(['m', 'o', 'n', 'g', 'a', 'r', 'd'])

 

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم

صادق

October 2022

به نظرم بهتره اسم توابع دکوراتیوها رو _underscore خالی نزاریم ، تا وقتی خواستیم با تابع dispatch ، اجرای توابع برای انواع مختلف را بررسی کنیم ، توابع قابل شناسایی باشند.

پاسخ به نظر


Md

September 2022

سلام،خسته نباشید،لطفا یک ویدیو هم در مورد NotImplementedError و NotImplemeted ضبط کنید.ممنون

پاسخ به نظر


Md

September 2022

سلام ، لطفا این ویدیو رو آپلود کنید خیلی لازم دارم.ممنون

amir

September 2022

سلام
میشه راجع به آپلود فایل های مدیا و استاتیک روی سرویس های ذخیره و ویدیو آروان هم یک آموزش درست کنید؟

پاسخ به نظر


امیرحسین بیگدلو

September 2022

سلام
بله، حتما

rm

September 2022

واقعا مفید بود، هر روز بهتر از دیروز با مونگارد :)

پاسخ به نظر