Funktsioon kui muutuja Pythonis
Pythonis on funktsioon oma olemuselt muutuja. See tähendab, et seda saab samuti edasi anda.
Olgu meil funktsioon, mis tagastab hüüumismärgi:
pythondef func():
return '!'
Edastame print-ile funktsiooni nime
ilma ümarsulgudeta kui muutuja:
pythonprint(func)
Pärast koodi täitmist kuvatakse konsooli spetsiaalne objekt, mis sisaldab teavet selle funktsiooni kohta:
python<function func at 0x0000022816383E20>
Nüüd deklareerime muutuja func2,
mille väärtusesse anname funktsiooni func1.
Funktsioon ise antakse edasi mitte
väärtusena, vaid viidana objektina. Ja
kui kutsuda func2 ümarsulgudega,
kuvatakse konsooli func1 töö tulemus:
pythondef func1():
print('!')
func2 = func1
func2() # väljastab '!'
Задание 1
Milline on järgmise koodi täitmise tulemus:
pythondef func():
print('hello, user!')
greet = func
print(greet)
Задание 2
Milline on järgmise koodi täitmise tulemus:
pythondef getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))