12/08/2018, 17:56

Lambda Functions in Python: What Are They Good For? (Translated)

Giới thiệu về biểu thức lambda trong Python: Chúng có tác dụng gì? Khi nào thì dùng chúng? Và khi nào thì tránh sử dụng? Keyword lambda trong Python cung cấp một shortcut để khai báo các tiểu hàm vô danh. Hàm lambda hoạt động giống như các hàm thông thường được khai báo với keyword def. Chúng ...

Giới thiệu về biểu thức lambda trong Python: Chúng có tác dụng gì? Khi nào thì dùng chúng? Và khi nào thì tránh sử dụng?

Keyword lambda trong Python cung cấp một shortcut để khai báo các tiểu hàm vô danh. Hàm lambda hoạt động giống như các hàm thông thường được khai báo với keyword def. Chúng có thể được sử dụng bất cứ khi nào các đối tượng hàm được yêu cầu.

Ví dụ, đây là cách chúng ta định nghĩa một hàm lambda đơn giản thực hiện phép toán cộng:

>>> add = lambda x, y: x + y
>>> add(5, 3)
8

Bạn có thể khai báo hàm tương đương với keyword def:

>>> def add(x, y):
...     return x + y
>>> add(5, 3)
8

Bây giờ bạn có thể thắc mắc: Tại sao lại chúng ta lại làm ầm lên về lambda? Nếu chúng chỉ là một phiên bản ngắn gọn của việc khai báo hàm với def thì nó có gì hay?

Hãy nhìn vào ví dụ sau và nghĩ về cụm từ biểu thức hàm:

>>> (lambda x, y: x + y)(5, 3)
8

Okay, điều gì đã xảy ra ở đây? Tôi chỉ sử dụng lambda để định nghĩa hàm "add" và sau đó gọi nó với các tham số 5 và 3 ngay lập tức.

Về mặt ý niệm, biểu thức lambda lambda x, y: x + y giống với việc định nghĩa hàm với def. Điểm khác biệt chính là tôi đã không móc nó với một cái tên giống như "add" trước khi sử dụng. Tôi đơn giản chỉ phát biểu thức tôi muốn tính toán và sau đó ngay lập tức đánh giá nó bằng cách gọi nó như với hàm thông thường.

Trước khi đi tiếp, bạn có thể muốn "vọc" đoạn code trên một chút để thực sự hiểu nó. Tôi vẫn nhớ điều này đã tiêu tốn của tôi một lúc lâu để nhồi nhét nó vào trong đầu tôi. Vậy nên đừng lo lắng rằng bạn sẽ mất một vài phút             </div>
            
            <div class=

0