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:
def func():
return '!'
Prenesimo v print ime funkcije
brez okroglih oklepajev kot spremenljivko:
print(func)
Po izvedbi kode se bo v konzolo izpisal poseben objekt, ki vsebuje informacije o tej funkciji:
<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:
def func1():
print('!')
func2 = func1
func2() # izpiše '!'
Kakšen bo rezultat izvajanja naslednje kode:
def func():
print('hello, user!')
greet = func
print(greet)
Kakšen bo rezultat izvajanja naslednje kode:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))