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

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

در این ویدیو با دکوراتور 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'])

 

ویدیوهای مشابه



ارسال نظر


قشقایی

1 سال قبل پاسخ به نظر

آفرین به شما - خسته نباشید

ارسال نظر



صادق

2 سال قبل پاسخ به نظر

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

ارسال نظر



Md

2 سال قبل پاسخ به نظر

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

ارسال نظر



Md

2 سال قبل

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

amir

2 سال قبل پاسخ به نظر

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

ارسال نظر



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

2 سال قبل

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

rm

2 سال قبل پاسخ به نظر

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

ارسال نظر



مونگارد