Funksiya dəyişən kimi Python-da
Python-da funksiya öz mahiyyəti etibarilə dəyişəndir. Və bu o deməkdir ki, onu da ötürmək olar.
Tutaq ki, bizim nida işarəsi qaytaran bir funksiyamız var:
def func():
return '!'
Gəlin print-ə mötərizəsiz funksiyanın
adını dəyişən kimi ötürək:
print(func)
Kodu icra etdikdən sonra konsola bu funksiya haqqında məlumat ehtiva edən xüsusi bir obyekt çıxacaq:
<function func at 0x0000022816383E20>
İndi gəlin func2 dəyişənini elan edək,
onun dəyərinə func1 funksiyasını ötürək.
Funksiyanın özü dəyərə görə deyil, obyekt
kimi istinadla ötürüləcək. Və func2
mötərizələrlə çağırıldıqda konsola func1-in
işləmə nəticəsi çıxacaq:
def func1():
print('!')
func2 = func1
func2() # çıxaracaq '!'
Aşağıdakı kodun icra nəticəsi nə olacaq:
def func():
print('hello, user!')
greet = func
print(greet)
Aşağıdakı kodun icra nəticəsi nə olacaq:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))