Python Lambda
Hàm lambda là một hàm ẩn danh nhỏ.
Hàm lambda có thể nhận bất kỳ số lượng đối số nào nhưng chỉ có thể có một biểu thức.
Cú pháp
lambda arguments : expression
Biểu thức được thực thi và kết quả được trả về:
Hàm Lambda có thể nhận bất kỳ số lượng đối số nào:
Ví dụ
Nhân đối số a
với đối số b
và trả về kết quả:
x = lambda a, b : a * b
print(x(5, 6))
Hãy tự mình thử »Ví dụ
Tóm tắt đối số a
, b
, c
và trả về kết quả:
x = lambda a, b, c : a + b + c
print(x(5, 6,
2))
Hãy tự mình thử » Tại sao nên sử dụng hàm Lambda?
Sức mạnh của lambda được thể hiện rõ hơn khi bạn sử dụng chúng như một hàm ẩn danh bên trong một hàm khác.
Giả sử bạn có một định nghĩa hàm nhận vào một đối số và đối số đó sẽ được nhân với một số chưa xác định:
def myfunc(n):
return lambda a : a * n
Sử dụng định nghĩa hàm đó để tạo một hàm luôn nhân đôi số bạn gửi vào:
Ví dụ
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
Hãy tự mình thử »Hoặc, sử dụng định nghĩa hàm tương tự để tạo một hàm luôn nhân ba số bạn gửi vào:
Ví dụ
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
Hãy tự mình thử »Hoặc sử dụng cùng một định nghĩa hàm để tạo cả hai hàm trong cùng một chương trình:
Ví dụ
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
Hãy tự mình thử »Sử dụng hàm lambda khi cần có hàm ẩn danh trong một khoảng thời gian ngắn.