Bắt đầu với Hàm Lambda Python

Mar 03 2023
Hôm nay, chúng ta sẽ tìm hiểu về một công cụ độc đáo trong Python có tên là “lambda”. Nghe có vẻ như là một từ to tát, nhưng nó thực sự rất dễ sử dụng.
Ảnh của Rich Tervet trên Bapt

Hôm nay, chúng ta sẽ tìm hiểu về một công cụ độc đáo trong Python có tên là “lambda”. Nghe có vẻ như là một từ to tát, nhưng nó thực sự rất dễ sử dụng.

Vậy lambda là gì? Nói một cách đơn giản, lambda là một cách để tạo các hàm nhỏ trong Python mà không cần đặt tên cho chúng. Nó giống như một phím tắt!

Hãy xem một ví dụ. Giả sử bạn muốn cộng hai số với nhau trong Python. Bạn có thể viết một chức năng như thế này:

def add_numbers(x, y):
    return x + y

Nhưng nếu bạn chỉ cần sử dụng chức năng này một lần và không muốn đặt tên cho nó thì sao? Đây là nơi lambda có ích!

Thay vì viết một hàm đầy đủ, bạn có thể sử dụng lambda để tạo nhanh một hàm nhỏ. Đây là những gì nó trông giống như:

lambda x, y: x + y

Đây là một ví dụ khác về việc sử dụng hàm lambda. Giả sử bạn có một danh sách tên và muốn sắp xếp chúng theo thứ tự bảng chữ cái. Bạn có thể viết một chức năng như thế này:

def sort_names(names):
    return sorted(names)

Nhưng nếu bạn chỉ cần sử dụng chức năng này một lần và không muốn đặt tên cho nó thì sao? Bạn có thể sử dụng lambda để tạo một hàm nhỏ sắp xếp tên theo thứ tự bảng chữ cái. Đây là những gì nó trông giống như:

lambda names: sorted(names)

Vì vậy, những lợi ích của việc sử dụng hàm lambda trong Python là gì?

  1. Mã ngắn gọn: Các hàm Lambda cho phép bạn viết mã ngắn gọn và dễ đọc hơn. Vì chúng không yêu cầu định nghĩa và tên hàm riêng biệt nên bạn có thể sử dụng chúng trực tiếp trong mã của mình, làm cho mã dễ đọc hơn và ít lộn xộn hơn.
  2. Thành phần hàm: Các hàm Lambda có thể được sử dụng làm khối xây dựng để tạo các hàm phức tạp hơn. Bạn có thể sử dụng chúng để tạo các hàm bậc cao hơn lấy các hàm khác làm đối số hoặc trả về các hàm khác làm giá trị. Điều này cho phép bạn soạn các hàm theo những cách mới và thú vị.
  3. Sử dụng một lần: Hàm Lambda rất hữu ích khi bạn chỉ cần sử dụng hàm một lần và không muốn tạo định nghĩa hàm riêng cho hàm đó. Điều này có thể giúp bạn tiết kiệm thời gian và công sức, đặc biệt nếu chức năng này đơn giản và bạn không cần sử dụng lại nó trong các phần khác của mã.
  4. Sử dụng bộ nhớ hiệu quả: Vì các hàm lambda không có tên nên chúng không chiếm bất kỳ dung lượng bộ nhớ nào trong môi trường Python. Điều này có thể đặc biệt hữu ích khi bạn đang làm việc với các tập dữ liệu lớn hoặc khi việc sử dụng bộ nhớ là một vấn đề đáng lo ngại.
  5. Tốc độ: Các hàm Lambda thường thực thi nhanh hơn các hàm thông thường vì chúng không yêu cầu gọi và tra cứu hàm. Điều này có thể đặc biệt hữu ích khi bạn đang làm việc với các tập dữ liệu lớn hoặc khi hiệu suất là một mối quan tâm.