Função como variável em Python
Em Python, uma função é essencialmente uma variável. E isso significa que ela também pode ser passada como tal.
Suponha que temos uma função que retorna um ponto de exclamação:
def func():
return '!'
Vamos passar para o print o nome da função
sem os parênteses, como uma variável:
print(func)
Após a execução do código, será exibido no console um objeto especial contendo informações sobre esta função:
<function func at 0x0000022816383E20>
Agora vamos declarar uma variável func2,
atribuindo a ela a função func1.
A função em si será passada não por
valor, mas por referência, como um objeto. E ao
chamar func2 com parênteses,
o resultado da execução de func1 será
exibido no console:
def func1():
print('!')
func2 = func1
func2() # exibirá '!'
Qual será o resultado da execução do seguinte código:
def func():
print('hello, user!')
greet = func
print(greet)
Qual será o resultado da execução do seguinte código:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))