Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào một hàm Python có thể trả về một hàm?

Python hỗ trợ các hàm hạng nhất. Trên thực tế, tất cả các hàm trong python đều là các hàm hạng nhất.

Python có thể trả về các hàm từ các hàm, lưu trữ các hàm trong các bộ sưu tập như danh sách và thường xử lý chúng như cách bạn làm với bất kỳ biến hoặc đối tượng nào.

Việc xác định các hàm trong các hàm khác và các hàm trả về đều có thể thực hiện được.

Mã đã cho được làm lại như sau. Chúng tôi xác định các hàm bên trong các hàm và trả về các hàm này.

Ví dụ

def f2(c, d):
    return c, d
def f1(a, b):
    c = a + 1
    d = b + 2
    return lambda: f2(c,d)
result = f1(1, 2)
print result
print result()

Đầu ra

C:/Users/TutorialsPoint1/~.py
<function <lambda> at 0x0000000003041CF8>
(2, 4)