Funkcia ako premenná v Pythone

V Pythone je funkcia vo svojej podstate premennou. A to znamená, že ju možno aj odovzdávať.

Majme funkciu, ktorá vráti výkričník:

pythondef func():
  return '!'

Odovzdajme do print názov funkcie bez okrúhlych zátvoriek ako premennú:

pythonprint(func)

Po vykonaní kódu sa do konzoly vypíše špeciálny objekt, ktorý obsahuje informácie o danej funkcii:

python<function func at 0x0000022816383E20>

Teraz deklarujme premennú func2, do ktorej hodnoty odovzdáme funkciu func1. Samotná funkcia sa bude odovzdávať nie hodnotou, ale odkazom ako objekt. A pri volaní func2 s okrúhlymi zátvorkami sa do konzoly vypíše výsledok práce func1:

pythondef func1():
print('!')

func2 = func1
func2() # vypíše '!'
Задание 1

Aký bude výsledok vykonania nasledujúceho kódu:

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

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

Aký bude výsledok vykonania nasledujúceho kódu:

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

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