Lambda Python

Hàm lambda là một hàm ẩn danh nhỏ.

Hàm lambda có thể chấp nhận số lượng tham số bất kỳ nhưng chỉ có một biểu thức.

cú pháp

lambda tham số : expression

Thực hiện biểu thức và trả về kết quả:

Ví Dụ

Một hàm lambda, nó cộng 10 với số được truyền vào làm tham số, sau đó in kết quả:

x = lambda a : a + 10
print(x(5))

Chạy Ví Dụ

Hàm lambda có thể chấp nhận số lượng tham số bất kỳ:

Ví Dụ

Một hàm lambda, nó nhân tham số a với tham số b và in kết quả:

x = lambda a, b : a * b
print(x(5, 6))

Chạy Ví Dụ

Ví Dụ

Một hàm lambda, nó cộng các tham số a, b và c và in kết quả:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

Chạy Ví Dụ

Tại sao lại sử dụng hàm Lambda?

Khi bạn sử dụng lambda như một hàm ẩn danh trong hàm khác, bạn sẽ thấy rõ ràng hơn về sức mạnh của lambda.

Giả sử bạn có một định nghĩa hàm với một tham số và tham số đó sẽ nhân với một số không biết:

def myfunc(n):
  return lambda a : a * n

Sử dụng định nghĩa hàm này để tạo một hàm luôn nhân số bạn gửi lên gấp đôi:

Ví Dụ

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))

Chạy Ví Dụ

Hoặc, sử dụng cùng một định nghĩa hàm để tạo một hàm luôn tăng số bạn gửi lên ba lần:

Ví Dụ

def myfunc(n):
  return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))

Chạy Ví Dụ

Hoặc, sử dụng cùng một định nghĩa hàm trong cùng một chương trình để tạo hai hàm:

Ví Dụ

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11)) 
print(mytripler(11))

Chạy Ví Dụ

Nếu bạn cần hàm ẩn danh trong thời gian ngắn, hãy sử dụng hàm lambda.