Функцыя як пераменная ў Python
У Python функцыя па сваёй сутнасці з'яўляецца пераменнай. І гэта значыць, што яе таксама можна перадаваць.
Хай у нас ёсць функцыя, якая вяртае клічнік:
def func():
return '!'
Давайце перададзім у print імя функцыі
без круглых дужак як пераменную:
print(func)
Пасля выканання кода ў кансоль выведзецца спецыяльны аб'ект, які змяшчае інфармацыю пра гэтую функцыю:
<function func at 0x0000022816383E20>
Цяпер давайце аб'явіў пераменную func2,
у значэнне якой перададзім функцыю func1.
Сама функцыя будзе перадавацца не па
значэнні, а па спасылцы як аб'ект. І пры
выкліку func2 з круглымі дужкамі ў
кансоль выйдзецца вынік работы func1:
def func1():
print('!')
func2 = func1
func2() # выведзе '!'
Якім будзе вынік выканання наступнага кода:
def func():
print('hello, user!')
greet = func
print(greet)
Якім будзе вынік выканання наступнага кода:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))