Trước khi đi sâu vào cú pháp và các ví dụ về hàm Lambda, hãy tìm hiểu định nghĩa của nó trong Python.
1. LAMBDA là gì?
Định nghĩa của LAMBDA trong Python là gì?
Trong Python, biểu thức Lambda được sử dụng để xây dựng các hàm ẩn danh. Bạn sẽ sử dụng từ khóa lambda thay vì def để định nghĩa các hàm nhỏ gọn.
- Hàm Lambda có thể nhận bất kỳ số lượng đối số nào, nhưng chỉ chứa một biểu thức duy nhất. Biểu thức này là một đoạn mã được thực thi bởi hàm Lambda và có thể trả về hoặc không trả về giá trị nào.
- Các hàm Lambda có thể được sử dụng để trả về các đối tượng hàm.
- Về mặt cú pháp, các hàm Lambda chỉ chứa một biểu thức duy nhất.
2. Cách sử dụng hàm Lambda trong Python
Cách sử dụng hàm Lambda trong Python
Ở đây, bạn có thể thêm bất kỳ số lượng tham số nào. Nhưng lưu ý rằng không cần sử dụng dấu ngoặc xung quanh các tham số như với các hàm thông thường. Biểu thức là một biểu thức Python hợp lệ hoạt động trên các tham số bạn cung cấp cho hàm.
2.2. Ví dụ minh họa về hàm Lambda trong Python
Dưới đây là một ví dụ về hàm Lambda nhân đôi giá trị đầu vào:
Trong ví dụ này, lambda x: x * 2 đại diện cho một hàm Lambda. x là tham số và x * 2 là biểu thức thực hiện tính toán và trả về kết quả.
Hàm này không có tên. Nó trả về một đối tượng hàm được gắn với biến định danh là nhan_doi. Chúng ta có thể gọi nó như một hàm thông thường.
nhan_doi = lambda x: x * 2
tương đương với:
def nhan_doi(x):
return x * 2
Ngoài việc áp dụng hàm Lambda trong Python, người dùng cũng có thể sử dụng nó trong Excel để tạo ra các hàm tùy chỉnh. Để biết thêm chi tiết, bạn có thể xem tại đây.
- Xem thêm: Người dùng hiện có thể tạo các hàm Excel tùy chỉnh bằng cách sử dụng LAMBDA.
3. Sử dụng hàm Lambda trong Python
Thường thì, hàm Lambda được sử dụng khi cần một hàm vô danh trong thời gian ngắn. Trong Python, chúng ta sử dụng nó như một tham số cho các hàm cao cấp hơn (các hàm nhận hàm khác làm tham số). Hàm Lambda thường được kết hợp với các hàm tích hợp sẵn như filter(), map() hay reduce()...
3.1. Ví dụ về việc sử dụng hàm Lambda với hàm filter()
Hàm filter() trong Python được sử dụng để lọc các phần tử từ một hàm hoặc một danh sách. Hàm sẽ được gọi với tất cả các phần tử trong danh sách và trả về một danh sách mới chứa các phần tử mà hàm đánh giá là True.
Dưới đây là một ví dụ về việc sử dụng hàm filter() để lọc các số chẵn từ danh sách:
3.2. Ví dụ về việc sử dụng hàm Lambda với hàm map()
Hàm map() trong Python hoạt động bằng cách lấy các tham số từ một hàm và một danh sách. Sau đó, hàm sẽ được áp dụng cho mỗi phần tử trong danh sách và trả về một danh sách mới chứa các kết quả của các cuộc gọi hàm.
Dưới đây là một ví dụ minh họa về việc sử dụng hàm map() để nhân đôi tất cả các phần tử trong một danh sách.
4. Lợi ích của việc sử dụng hàm Lambda?
Hàm Lambda trong Python được xử lý tương tự như các hàm thông thường ở mức thông dịch. Theo một cách nào đó, bạn có thể nói rằng hàm Lambda cung cấp cú pháp ngắn gọn để định nghĩa các hàm trả về một biểu thức duy nhất.
Trong lập trình hàm, hàm Lambda được sử dụng phổ biến vì Python hỗ trợ mô hình lập trình gọi là lập trình hàm.
Hàm Lambda cho phép bạn truyền một hàm dưới dạng tham số cho một hàm khác (ví dụ: trong bản đồ, bộ lọc...). Trong những trường hợp như vậy, hàm Lambda cung cấp một cách thuận tiện để tạo ra một hàm dùng một lần và chuyển nó làm tham số.