Trong bài viết này, Taimienphi.vn sẽ cùng bạn tìm hiểu về hàm vô danh hay còn gọi là hàm Lambda trong Python. Hàm Lambda là gì, cú pháp hàm Lambda như thế nào, và cách sử dụng hàm Lambda với ví dụ kèm theo ra sao, tất cả sẽ giải đáp ngay sau đây.
Trước khi tìm hiểu về cú pháp hàm Lambda và cách sử dùng hàm Lambda với các ví dụ cụ thể, chúng ta sẽ bắt đầu bằng việc tìm hiểu định nghĩa về hàm Lambda trong Python.
Tìm hiểu về hàm LAMBDA
1. LAMBDA là gì?
Hàm Lambda trong Python là một hàm vô danh hay hàm ẩn danh (Anonymous function), một hàm được định nghĩa mà không có tên. Đây là một hàm nhỏ và bị hạn chế, không có nhiều hơn một dòng. Cũng giống như một hàm bình thường, một hàm Lambda có thể có nhiều đối số với một biểu thức.
Trong Python, biểu thức Lambda được sử dụng để xây dựng các hàm ẩn danh. Để làm như vậy, bạn sẽ sử dụng từ khóa lambda (giống như bạn sử dụng def để định nghĩa các hàm thông thường). Mỗi hàm ẩn danh mà bạn xác định trong Python sẽ có 3 phần thiết yếu:
- Một hàm Lambda có thể lấy bất kỳ số lượng đối số nào, nhưng chúng chỉ chứa một biểu thức duy nhất. Biểu thức là một đoạn mã được thực thi bởi hàm Lambda, có thể trả về hoặc không trả về bất kỳ 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ỉ được giới hạn trong một biểu thức duy nhất.
2. Cách sử dụng hàm Lambda trong Python
Một hàm Lambda trong Python có cú pháp như sau:
2.1. Cú pháp của hàm Lambda
Tại đây, bạn có thể thêm bao nhiêu tham số tùy ý. Tuy nhiên, lưu ý rằng chúng ta không sử dụng dấu ngoặc xung quanh các tham số như chúng ta làm với các hàm thông thường. Biểu thức là bất kỳ biểu thức Python hợp lệ nào hoạt động trên các tham số bạn cung cấp cho hàm.
2.2. Ví dụ về hàm Lambda trong Python
Đây là một ví dụ về hàm Lambda tăng gấp đôi giá trị nhập vào:
Trong ví dụ này, lambda x: x * 2 là hàm Lambda. x là đối số và x * 2 là biểu thức đảm nhận việc tính toán và trả về kết quả.
Hàm này không có tên. Nó trả về đối tượng hàm được gắn với định danh là nhan_doi. Chúng ta có thể gọi nó là một hàm thông thường. Lệnh
nhan_doi= lambda x: x * 2
gần giống như:
def nhan_doi(x):
return x * 2
Ngoài cách sử dụng hàm LAMBDA trong Python người dùng có thể sử dụng hàm này trong Excel để tạo các hàm tùy chỉnh. Bạn có thể xem chi tiết 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 LAMBDA.
3. Sử dụng hàm Lambda trong Python
Thông thường, hàm Lambda được sử dụng khi cần một hàm vô danh trong một thời gian ngắn. Trong Python, chúng ta sử dụng nó như một đối số cho bậc hàm cao hơn (một hàm nhận các hàm khác làm đối số). Hàm Lambda được sử dụng cùng với các hàm tích hợp sẵn như filter(), map() hay reduce()...
3.1. Ví dụ sử dụng hàm Lambda với hàm filter()
Hàm filter() trong Python sẽ lấy các tham số trong một hàm hoặc một list. Hàm sẽ được gọi với tất cả các mục trong list và list mới được trả về, chứa các mục mà hàm đánh giá là True.
Đây là ví dụ về việc sử dụng hàm filter() để chỉ lọc các số chẵn từ danh sách:
3.2. Ví dụ sử dụng hàm Lambda với hàm map()
Hàm map() trong Python cũng lấy các tham số trong một hàm và một list. Hàm được gọi với tất cả các mục trong list và list mới được trả về, chứa các mục được hàm trả về cho mỗi mục.
Đây là một ví dụ sử dụng hàm map() để nhân đôi tất cả các mục trong một danh sách.
4. Tại sao sử dụng hàm Lambda?
Hàm Lambda được xử lý giống như các hàm thông thường ở cấp 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 nhỏ gọn để viết các hàm trả về một biểu thức duy nhất.
Một trong những trường hợp sử dụng phổ biến nhất cho hàm Lambda là trong lập trình hàm vì Python hỗ trợ mẫu hình (hoặc kiểu) lập trình được gọi là lập trình hàm.
https://thuthuat.taimienphi.vn/lambda-la-gi-61644n.aspx
Nó cho phép bạn cung cấp 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 mang đến một cách hay để tạo một hàm dùng một lần và chuyển nó làm tham số.