Hàm vô danh, Lambda trong Python
Lambda Python là gì? Cách dùng hàm lambda trong Python như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!
Hàm Lambda trong Python là gì?
Trong Python, hàm vô danh là hàm được định nghĩa mà không có tên. Nếu các hàm bình thường được định nghĩa bằng cách sử dụng từ khóa def, thì hàm vô danh được định nghĩa bằng cách sử dụng từ khóa lambda. Vì lý do đó mà hàm vô danh còn được gọi là hàm Lambda.
Cú pháp hàm Lambda trong Python
Một hàm Lambda trong Python có cú pháp sau;
lambda tham_so: bieu_thucHàm Lambda có thể có nhiều tham số nhưng chỉ có 1 biểu thức. Biểu thức sẽ được đánh giá và trả về. Hàm Lambda có thể được sử dụng ở bất cứ nơi nào đối tượng hàm được yêu cầu.
Ví dụ về hàm Lambda trong Python
Đây là ví dụ về hàm Lambda với nhiệm vụ nhân đôi số nhập vào.
nhan_doi = lambda a: a * 2
# Kết quả: 20
# By Quantrimang.com
print(nhan_doi(10))Trong ví dụ này, lambda a: a * 2 là hàm Lambda. a ở đây là tham số và a * 2 là biểu thức (đảm nhiệm việc 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 định danh là nhan_doi. Chúng ta có thể gọi nó như một hàm bình thường, lệnh sau:
nhan_doi = lambda a: a * 2gần giống như:
def nhan_doi(a):
return a * 2Sử dụng 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, ví dụ như dùng làm đối số cho một hàm bậc cao hơn. Hàm Lambda thường được sử dụng cùng với các hàm Python tích hợp sẵn như filter() hay map(),...
Ví dụ dùng hàm Lambda với filter():
Hàm filter() sẽ lấy các tham số là 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 sẽ được trả về, chứa các mục mà hàm đánh giá là True. Đây là ví dụ dùng hàm filter() để lọc ra các số chẵn trong list.
list_goc = [10, 9, 8, 7, 6, 1, 2, 3, 4, 5]
list_moi = list(filter(lambda a: (a%2 == 0) , list_goc))
# Kết quả: [10, 8, 6, 2, 4]
# By Quantrimang.com
print(list_moi)Ví dụ dùng hàm Lambda với map():
Hàm map() cũng lấy các tham số là 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ề tương ứng cho mỗi mục. Nói thì có vẻ lằng nhằng, bạn xem ví dụ sau sẽ dễ hiểu hơn nhiều:
list_goc = [10, 9, 8, 7, 6, 1, 2, 3, 4, 5]
list_moi = list(map(lambda a: a*2 , list_goc))
# Kết quả: [20, 18, 16, 14, 12, 2, 4, 6, 8, 10]
# By Quantrimang.com
print(list_moi)Tại sao dùng hàm Lambda trong Python?
Python có rất nhiều hàm hữu ích trong lập trình, trong đó có lambda. Sức mạnh của lambda được thể hiện tốt hơn khi bạn dùng chúng làm hàm ẩn danh trong hàm khác.
Ví dụ bạn có một định nghĩa hàm tính một đối số. Và đối số đó sẽ được nhân với một số chưa rõ:
def myfunc(n):
return lambda a : a * nDùng định nghĩa hàm đó để tạo một hàm luôn gấp đôi số bạn gửi vào:
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))Hoặc dùng cùng định nghĩa hàm để tạo một hàm luôn gấp 3 số bạn dùng. Ví dụ:
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
Hoặc dùng cùng định nghĩa hàm để triển khai 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))Dùng hàm lambda trong Python khi cần một hàm ẩn danh trong thời gian ngắn.
Còn gì trong phần hàm vô danh mà chúng ta bỏ sót không? Bạn hãy bình luận bên dưới để góp ý nhé. Đừng quên làm bài tập Python và đón chờ bài tiếp theo nhé.
Bạn nên đọc
-
Lệnh pass trong Python
-
Làm việc với File trong Python
-
Package trong Python
-
Viết chương trình tính căn bậc hai của một số bằng Python
-
Hơn 100 bài tập Python có lời giải (code mẫu)
-
Các kỹ thuật vòng lặp trong Python
-
Hàm bytearray() trong Python
-
7 lý do bạn nên học ngôn ngữ lập trình Swift
-
Generator trong Python
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

Cách tạo tài khoản ChatGPT nhanh
3 ngày 82 -

Code Murder Mystery 2 mới nhất và cách nhập
3 ngày 9 -

Những câu nói bá đạo của học sinh khiến ai cũng nhớ tới một thời cắp sách tới trường
3 ngày -

Xem quá trình lắp cấu trúc nặng 600 tấn của máy dò hạt ma tại đài quan sát dưới lòng đất
4 ngày -

Diện tích hình trụ: Diện tích xung quanh hình trụ, diện tích toàn phần hình trụ
3 ngày 7 -

8 cách chuyển ảnh từ iPhone sang iPhone nhanh chóng
4 ngày -

Cách download Windows 10, tải file ISO Windows 10 từ Microsoft
3 ngày 20 -

Cách hủy đăng ký Telegram Premium
3 ngày 1 -

Stt thay đổi bản thân, cap thay đổi bản thân tạo động lực trong cuộc sống
3 ngày -

Tổng hợp code Yong Heroes 2: Phong Vân Tái Khởi
4 ngày
Hướng dẫn AI
Học IT
Hàm Excel
Download