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.

Có thể bạn cần →   Hàm reduce() trong lập trình Python nâng cao

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.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x