ฟังก์ชันในฐานะตัวแปรใน 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))