Lập trình Python – 30. Lambda Function trong Python

Chào mừng các bạn đến với bài học Python hàng ngày của COMDY! Trước đây chúng ta đã học rất nhiều kiến thức lập trình Python, từ cách sử dụng các công cụ IDE như PyCharm và Jupyter Notebook, tới các câu lệnh cơ bản, vòng lặp, và các kiểu dữ liệu quan trọng trong Python như list, tuple, set, và dictionary. Gần đây, chúng ta đã làm quen với khái niệm hàm và cách viết function trong Python.

Hôm nay, chúng ta sẽ tiếp tục với một khái niệm mới, đó là “lambda function”. Lambda function là một hàm ẩn danh, có nghĩa là chúng ta thường sử dụng khi muốn viết một hàm ngắn gọn và có thể sử dụng tại một hoặc nhiều vị trí khác nhau trong code. Cấu trúc của lambda function rất đơn giản, gồm một từ khóa “lambda”, các đối số mà chúng ta truyền vào, và một biểu thức để tính toán và trả về kết quả.

Ví dụ, nếu chúng ta muốn viết một hàm kiểm tra xem một số có phải là số chẵn hay số lẻ, chúng ta có thể sử dụng lambda function như sau:

is_even = lambda a: a % 2 == 0

Trong ví dụ trên, chúng ta viết một lambda function có tên là is_even, nhận vào một số a và trả về giá trị True nếu a là số chẵn, và False nếu a là số lẻ. Đơn giản và tiện lợi phải không các bạn?

Cách sử dụng lambda function trong Python rất linh hoạt. Chúng ta có thể dùng nó trực tiếp trong một dòng code, hoặc viết nó trong một hàm khác, hoặc bất kỳ vị trí nào chúng ta cần, miễn là cấu trúc của lambda function đúng. Tuy nhiên, lambda function chỉ có thể chứa một biểu thức duy nhất, nhưng nó có thể chứa nhiều tham số. Thông thường, chúng ta viết lambda function trên một dòng để code gọn gàng hơn.

Ví dụ, nếu chúng ta muốn viết một hàm kiểm tra xem một số có là số chính phương hay không, chúng ta có thể viết một lambda function như sau:

is_perfect_square = lambda x: x**0.5 == int(x**0.5)

Trong ví dụ này, chúng ta viết một lambda function có tên là is_perfect_square, nhận vào một số x và kiểm tra xem x có bằng căn bậc hai của nó lấy phần nguyên hay không. Nếu có, x là số chính phương, ngược lại thì không.

Lambda function có thể ứng dụng trong nhiều trường hợp, đặc biệt là khi chúng ta muốn tiết kiệm thời gian và viết code ngắn gọn. Ví dụ, trong việc tính tổng hai số, chúng ta có thể sử dụng lambda function như sau:

calculate_sum = lambda a, b: a + b

Trong ví dụ này, chúng ta viết một lambda function có tên là calculate_sum, nhận vào hai số ab, và trả về tổng của chúng.

Tất nhiên, lambda function có thể nhận nhiều tham số, nhưng chỉ có một biểu thức duy nhất. Thông thường, chúng ta viết lambda function trên một dòng để giữ code ngắn gọn. Chúng ta không cần viết lambda function trên nhiều dòng.

Ví dụ, nếu chúng ta muốn tính tổng các số trong một list, chúng ta có thể sử dụng lambda function như sau:

numbers = [1, 2, 3, 4, 5]
calculate_sum = lambda lst: sum(lst)
total = calculate_sum(numbers)

Trong ví dụ này, chúng ta viết một lambda function có tên là calculate_sum, nhận vào một list lst và trả về tổng của các số trong list đó. Sau đó, chúng ta tính tổng các số trong list numbers bằng cách gọi lambda function calculate_sum.

Như chúng ta đã thấy, việc sử dụng lambda function rất đơn giản và tiện lợi. Nó giúp chúng ta viết code nhanh chóng và giảm số lượng dòng code trong các trường hợp đơn giản. Tuy nhiên, khi chúng ta gặp các tình huống phức tạp hơn và cần phải tính toán nhiều biểu thức, chúng ta không nên sử dụng lambda function. Thay vào đó, chúng ta nên định nghĩa các hàm riêng để code dễ đọc và dễ hiểu hơn.

Rất hy vọng rằng bài viết này đã giúp các bạn hiểu thêm về lambda function trong Python. Hãy thử sử dụng lambda function trong các bài tập và dự án của mình để tận dụng tối đa tốc độ làm việc của chúng. Nếu bạn cần câu trả lời hoặc có câu hỏi, hãy để lại bình luận phía dưới. Hẹn gặp lại các bạn trong bài viết tiếp theo!

Đọc thêm các bài viết khác của COMDY trên https://comdy.vn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *