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:
def func():
return '!'
Mari kita hantar nama fungsi ke dalam print
tanpa kurungan sebagai pembolehubah:
print(func)
Selepas kod dilaksanakan, objek khas yang mengandungi maklumat tentang fungsi ini akan dipaparkan dalam konsol:
<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:
def func1():
print('!')
func2 = func1
func2() # akan memaparkan '!'
Apakah hasil pelaksanaan kod berikut:
def func():
print('hello, user!')
greet = func
print(greet)
Apakah hasil pelaksanaan kod berikut:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))