Hàm callback trong Python

Trong Python có khả năng truyền hàm vào tham số của các hàm khác. Khi đó các hàm được truyền như biến (không có dấu ngoặc tròn) và được gọi là callback. Các hàm callback như vậy sẽ được thực thi trong thân của hàm chính.

Giả sử chúng ta có hàm test, mà tham số của nó nhận một số và một hàm:

pythondef test(num, func):
  pass

Bây giờ hãy tạo hàm func, mà sẽ nâng một số lên lũy thừa bình phương:

pythondef func(num):
  return num ** 2

Bây giờ hãy quay lại test và trong thân của nó viết thêm code, để hàm được truyền vào tham số là callback cũng nhận một số làm tham số. Kết quả là kết quả của test sẽ là việc thực thi một hàm khác, mà số cho hàm đó sẽ được lấy từ tham số đầu tiên của test:

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

Tiếp theo, gọi hàm test và truyền cho nó tham số đầu tiên là 3, còn tham số thứ hai là func:

pythontest(3, func) # sẽ in ra 9
Задание 1

Kết quả thực hiện đoạn code sau sẽ là gì:

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