ฟังก์ชัน Callback ใน Python

ใน Python มีความสามารถในการส่งฟังก์ชัน เข้าไปในพารามิเตอร์ของฟังก์ชันอื่นได้ ฟังก์ชันที่ส่งเข้าไป จะถูกส่งเหมือนตัวแปร (ไม่มีวงเล็บ) และเรียกว่า callback ฟังก์ชัน callback เหล่านี้จะถูกดำเนินการ ภายในเนื้อหาของฟังก์ชันหลัก

สมมติว่าเรามีฟังก์ชัน test, ซึ่งรับพารามิเตอร์เป็นตัวเลขและ ฟังก์ชัน:

pythondef test(num, func):
  pass

ตอนนี้เรามาสร้างฟังก์ชัน func ซึ่งจะยกกำลังตัวเลขด้วยเลขยกกำลังสอง:

pythondef func(num):
  return num ** 2

ตอนนี้กลับไปที่ test และใน เนื้อหาของมันเพิ่มโค้ด เพื่อให้ฟังก์ชัน callback ที่ส่งผ่านพารามิเตอร์ รับพารามิเตอร์เป็นตัวเลขด้วย ผลลัพธ์สุดท้ายจะได้ว่า ผลลัพธ์ของ test คือการทำงานของอีก ฟังก์ชันหนึ่ง โดยที่ตัวเลขสำหรับฟังก์ชันนั้นจะนำมาจาก พารามิเตอร์แรกของ test:

pythondef test(num, func):
  print(func(num))

ต่อมาเรียกใช้ฟังก์ชัน test และ ส่งพารามิเตอร์แรกเป็น 3 และ พารามิเตอร์ที่สองคือ func:

pythontest(3, func) # จะแสดง 9
Задание 1

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้จะเป็นอย่างไร:

pythondef get_Info(txt, func):
  print(func(txt))
  
def func(name):
  return 'user name is ' + name
  
get_Info('john', func)