Ta có cú pháp sau:
lambda argument_1, argument_2, …, argument_n : expression
Như đã nói ở trên, lambda hoạt động như khi bạn dùng từ khóa “def” khai báo hàm. Tuy nhiên, vẫn có một vài ưu điểm nổi trội của lambda so với cách bình thường:
Để có thể hiểu hơn, mời bạn đọc xem qua các ví dụ sau đây
Đây là khi bạn sử dụng từ khóa “def”
print('Sử dụng return')Điều đó cũng có thể làm được với lambda
print('Sử dụng Lambda - Ví dụ 2')Bạn cũng lưu ý thêm là lambda cũng phân biệt global và local nhé.
Trong hàm ta có thể sử dụng đối số là một lambda
print('Sử dụng Lambda - Ví dụ 3, Biến local, global')Vì sao dùng lambda?
Chung quy thì lambda là một công cụ nhanh gọn để bạn có thể tạo ra một hàm và sử dụng nó. Việc sử dụng nó thay cho “def” hay không là tùy ở bạn. Đương nhiên là bạn có thể chỉ sử dụng “def” thôi cũng được, hoàn toàn được, đặc biệt là những lúc mà hàm của bạn phức tạp, cần nhiều câu lệnh thì bạn không cần phải suy nghĩ nhiều nữa mà nên dùng “def” luôn. Nhưng giả sử bạn chỉ cần khởi tạo một hàm cấu trúc đơn giản và tái sử dụng nhiều lần thì sao? Lúc đó hãy nghĩ tới lambda nhé!
Chúng ta đến với một số ví dụ mà lambda hoàn toàn chiếm ưu thế so với “def”.
print('Sử dụng Lambda - Ví dụ 4, List')Không chỉ mình list, bạn có thể sử dụng lambda với dictionary. Mời bạn đọc xem ví dụ sau đây:
print('Sử dụng Lambda - Ví dụ 5, Dict')Câu điều kiện cho lambda
Rõ ràng bạn đã thấy, lambda chỉ nhận một expression, do đó, bạn không thể chèn câu lệnh điều kiện như bình thường được mà phải theo một cách khác.
Giả sử với lệnh if như sau
if a:
b
else:
c
Thì có thể viết dưới dạng expression với 2 cách như sau
Cách 1:
b if a else c
Cách 2:
(a and b) or c
Bạn có cần nhớ cả 2 cái không? Không cần thiết đâu, Kteam khuyến khích bạn đọc ghi nhớ và dùng cách 1 vì sự rõ ràng và dĩ nhiên cũng không nên bối rối khi thấy cách 2.
Hãy đến với ví dụ để hiểu thêm
print('Sử dụng Lambda - Ví dụ 6,Câu lệnh if ')Ví dụ sau đây là kiểm tra xem số đó cùng có hai ước 2 và 3 hay không? Nếu có thì trả về 1, không thì là 0. Ví dụ này hoàn toàn có thể sử dụng lambda bằng cách sử dụng “and” nhưng ở đây Kteam muốn bạn biết chúng ta có thể lồng các expression lên nhau.
print('Sử dụng Lambda - Ví dụ 7,Câu lệnh if lồng nhau')Lambda chồng lambda
Phần này sẽ hơi rắc rối nếu như bạn chưa thực sự hiểu lambda. Bạn có thể chồng 2 hoặc 3 lambda lên nhau cùng một lúc. Nhưng phải chú ý để biết được mình đang làm gì nhé.
print('Sử dụng Lambda - Ví dụ 8, lambda chồng lambda')
» Tin mới nhất:
» Các tin khác: