Funkcija kot spremenljivka v Pythonu
V Pythonu je funkcija v bistvu spremenljivka. In to pomeni, da jo lahko tudi prenesemo.
Recimo, da imamo funkcijo, ki vrne klicaj:
pythondef func():
return '!'
Prenesimo v print ime funkcije
brez okroglih oklepajev kot spremenljivko:
pythonprint(func)
Po izvedbi kode se bo v konzolo izpisal poseben objekt, ki vsebuje informacije o tej funkciji:
python<function func at 0x0000022816383E20>
Zdaj pa deklarirajmo spremenljivko func2,
v katero vrednost prenesemo funkcijo func1.
Sama funkcija se bo prenesla ne po
vrednosti, temveč po referenci kot objekt. In pri
klicu func2 z okroglimi oklepaji se bo
v konzolo izpisal rezultat delovanja func1:
pythondef func1():
print('!')
func2 = func1
func2() # izpiše '!'
Задание 1
Kakšen bo rezultat izvajanja naslednje kode:
pythondef func():
print('hello, user!')
greet = func
print(greet)
Задание 2
Kakšen bo rezultat izvajanja naslednje kode:
pythondef getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))