Biểu thức Lambda trong lập trình Python
Thông thường chúng ta sẽ thao tác với các hàm trong Python bằng Def. Tuy nhiên ở bài viết này itmaster.vn sẽ giới thiệu các bạn cách tạo các hàm bằng biểu thức Lambda trong Python.
Biểu thức Lambda là gì ?
Biểu thức Lambda trong Python là một biểu thức để tạo một hàm. Chức năng chính của Lambda đó là để tạo các hàm ẩn danh (anonymous function)
Chức năng của biểu thức lambda trong Python thường là tạo ra các hàm đơn giản được sử dụng chủ yếu trong các tình huống cần định nghĩa hàm ngắn gọn và tạm thời.
Ví dụ về biểu thức Lambda Python
Vì lambda là một hàm ẩn danh nên bạn có thể sử dụng tên bất kỳ. Các hàm lambda có thể được lưu trữ trong bất kỳ biến nào.

Công thức chung của biểu thức Lambda trong lập trình Python sẽ như sau
lambda arguments: expression
Ví dụ hàm cộng bậc hai
Nếu sử dụng def và retrun chúng ta sẽ cách làm như sau
def suqare_sum(x,y):
return x**2 + y**2
Nhưng nếu bạn sử dụng với biểu thức Lambda sẽ áp dụng như sau
lambda x,y : x**2 + y**2
Lambda có thể có nhiều đối số hoặc tham số, nhưng chỉ có thể có một biểu thức hoặc nội dung.
greeting = lambda name: print(f"Hello, {name}")
Vì các hàm lambda không có tên nên chúng ta cần một biến để lưu trữ chúng.
Sau này khi chúng ta muốn gọi nó, tất cả những gì chúng ta phải làm là viết tên biến như sau:
greeting("Hoang Gia")
greeting("itmaster.vn")
greeting("no 1")
Ví dụ về thực thi Lambda trực tiếp
(lambda x,y: x**2 + y**2)(4,6)
Dấu ngoặc xung quanh hàm lambda có nghĩa là sẽ thực thi hàm ngay lập tức. Sau đó, dấu ngoặc tiếp theo sẽ chứa tham số.
Các số 4 và 6 là các tham số x và y sẽ được chuyển đến hàm lambda.
Kết quả chương trình sẽ như sau : 4**2+ 6**2= 52.
Kết quả của việc thực hiện này cũng có thể được lưu trữ trong một biến
hasil = (lambda x,y: x**2 + y**2)(4,6)
Khi nào sử dụng biểu thức Lambda ?
Không phải lúc nào chúng ta cũng phải sử dụng Lambda, nhưng trong một số trường hợp, lambda tốt hơn các hàm thông thường. Lambda thường cần thiết khi chúng ta muốn tạo một hàm trong một dòng.
Thông thường khi sử dụng các hàm như filter(), map()và reduce() chúng ta sẽ cần lambda.