ฟังก์ชันในฐานะตัวแปรใน Python
ใน Python โดยพื้นฐานแล้วฟังก์ชันคือ ตัวแปร และนั่นหมายความว่ามันสามารถ ถูกส่งผ่านได้เช่นกัน
สมมติว่าเรามีฟังก์ชันที่ส่งคืน เครื่องหมายอัศเจรีย์:
pythondef func():
return '!'
ลองส่งชื่อฟังก์ชันไปที่ print
โดยไม่มีวงเล็บในฐานะตัวแปร:
pythonprint(func)
หลังจากรันโค้ด ในคอนโซลจะแสดง อ็อบเจ็กต์พิเศษซึ่งมีข้อมูล เกี่ยวกับฟังก์ชันนี้:
python<function func at 0x0000022816383E20>
ตอนนี้เรามาประกาศตัวแปร func2
ซึ่งเราจะกำหนดค่าให้เป็นฟังก์ชัน func1
ฟังก์ชันเองจะถูกส่งผ่านไม่ใช่
โดยค่า แต่โดยการอ้างอิงในฐานะอ็อบเจ็กต์ และเมื่อ
เรียกใช้ func2 ด้วยวงเล็บ
ในคอนโซลจะแสดงผลลัพธ์การทำงานของ func1:
pythondef func1():
print('!')
func2 = func1
func2() # จะแสดง '!'
Задание 1
ผลลัพธ์ของการรันโค้ดต่อไปนี้จะเป็นอย่างไร:
pythondef func():
print('hello, user!')
greet = func
print(greet)
Задание 2
ผลลัพธ์ของการรันโค้ดต่อไปนี้จะเป็นอย่างไร:
pythondef getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))