آموزش دکوراتور singledispatch از ماژول functools پایتون
در این ویدیو با دکوراتور 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'])
ارسال نظر