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:

pythondef func():
  return '!'

Gəlin print-ə mötərizəsiz funksiyanın adını dəyişən kimi ötürək:

pythonprint(func)

Kodu icra etdikdən sonra konsola bu funksiya haqqında məlumat ehtiva edən xüsusi bir obyekt çıxacaq:

python<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:

pythondef func1():
print('!')

func2 = func1
func2() # çıxaracaq '!'
Задание 1

Aşağıdakı kodun icra nəticəsi nə olacaq:

pythondef func():
  print('hello, user!')

greet = func
print(greet)
Задание 2

Aşağıdakı kodun icra nəticəsi nə olacaq:

pythondef getSum(num1, num2):
  res = num1 + num2
  return res

func = getSum
print(func(2, 3))