توابع به عنوان شئ
اگرچه آنها به صورت متفاوتی از متغیرهای عادی ایجاد می شوند، توابع مانند هر نوع دیگری در پایتون دارای ارزش هستند. می توانند به متغیر ها بست داده شوند و یا دوباره مقدار دهی شوند و مجدد در قسمت دیگری از کد فرا خوانده شوند.
def multiply(x, y):
return x * y
a = 4
b = 7
operation = multiply
print(operation(a, b))
خروجی:
>>>
28
>>>
نکته: مثال بالا توابع را به یک عملیات متغیر اختصاص داده است. در حال حاضر، نام عملیات نیز می تواند برای انجام عملیات صدا زده شود و مورد استفاده قرار گیرد. توابع نیز می توانند بعنوان استدلال های دیگر توابع استفاده شوند.
def add(x, y):
return x + y
def do_twice(func, x, y):
return func(func(x, y), func(x, y))
a = 5
b = 10
print(do_twice(add, a, b))
خروجی:
>>>
30
>>>
نکته: همانطور که می بینید تابع do_twice یک تابع دیگر را به عنوان آرگومان ورودی دریافت می کند و در بدنه کد خود استفاده می کند.