Fungsi sebagai Pembolehubah dalam Python

Dalam Python, fungsi pada dasarnya adalah pembolehubah. Dan ini bermakna ia juga boleh dipindahkan.

Katakan kita mempunyai fungsi yang memulangkan tanda seru:

pythondef func():
  return '!'

Mari kita hantar nama fungsi ke dalam print tanpa kurungan sebagai pembolehubah:

pythonprint(func)

Selepas kod dilaksanakan, objek khas yang mengandungi maklumat tentang fungsi ini akan dipaparkan dalam konsol:

python<function func at 0x0000022816383E20>

Sekarang mari kita isytiharkan pembolehubah func2, yang nilainya kita akan hantar fungsi func1. Fungsi itu sendiri akan dihantar bukan secara nilai, tetapi secara rujukan sebagai objek. Dan apabila func2 dipanggil dengan kurungan, hasil pelaksanaan func1 akan dipaparkan dalam konsol:

pythondef func1():
print('!')

func2 = func1
func2() # akan memaparkan '!'
Задание 1

Apakah hasil pelaksanaan kod berikut:

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

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

Apakah hasil pelaksanaan kod berikut:

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

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