Python-da funksiýa üýtgeýän hökmünde
Python-da funksiýa esasynda bir üýtgeýändir. Bu bolsa, ony hem geçirip bolýandygyny aňladýar.
Geliň, ýarym nokat gaýtaryan bir funksiýamyz bolsun:
pythondef func():
return '!'
Geliň print funksiýasyna onuň adyny
ýumrugy ýok, üýtgeýän ýaly geçireliň:
pythonprint(func)
Kod ýerine ýetirilenden soň, konsolde bu funksiýa barada maglumat saklaýan ýörite bir obýekt görkeziler:
python<function func at 0x0000022816383E20>
Indi func2 atly bir üýtgeýân döredeliň,
onuň bahasyna func1 funksiýasyny belleýäris.
Funksiýanyň özi bahasy boýunça däl-de,
salgy boýunça obýekt hökmünde geçiriler. We
ýumrugy bilen çaýrylýan func2 konsolda
func1-iň netijesini görkezer:
pythondef func1():
print('!')
func2 = func1
func2() # '!' görkezer
Задание 1
Aşakdaky kodyň ýerine ýetiriliş netijesi näme bolar:
pythondef func():
print('hello, user!')
greet = func
print(greet)
Задание 2
Aşakdaky kodyň ýerine ýetiriliş netijesi näme bolar:
pythondef getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))