Funksie as Veranderlike in Python

In Python is 'n funksie in wese 'n veranderlike. En dit beteken dat dit ook oorgedra kan word.

Laat ons 'n funksie hê wat 'n uitroepteken teruggee:

pythondef func():
  return '!'

Laat ons die naam van die funksie sonder hakies as 'n veranderlike na print oordra:

pythonprint(func)

Na die uitvoering van die kode sal 'n spesiale objek wat inligting oor hierdie funksie bevat, in die konsole vertoon word:

python<function func at 0x0000022816383E20>

Laat ons nou 'n veranderlike func2 verklaar en die funksie func1 as sy waarde toeken. Die funksie self word nie by waarde oorgedra nie, maar by verwysing as 'n objek. En wanneer func2 met hakies aangeroep word, sal die resultaat van func1 in die konsole verskyn:

pythondef func1():
print('!')

func2 = func1
func2() # sal '!' uitvoer
Задание 1

Wat sal die resultaat wees van die volgende kode:

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

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

Wat sal die resultaat wees van die volgende kode:

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

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