Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Hàm ẩn danh (Anonymous Functions) trong Python

Các hàm này gọi là ẩn danh vì không được khai báo theo cách chuẩn bằng từ khóa def. Bạn dùng từ khóa lambda để tạo hàm ẩn danh nhỏ.

  • Lambda nhận bất kỳ số lượng đối số nhưng chỉ trả về một giá trị dưới dạng biểu thức. Không chứa lệnh hay nhiều biểu thức.
  • Hàm ẩn danh không thể gọi trực tiếp print vì lambda yêu cầu biểu thức.
  • Lambda function có namespace local riêng và không truy cập biến ngoài tham số và global namespace.
  • Mặc dù lambda trông như hàm một dòng, chúng không tương đương inline statement trong C/C++ (mục đích bỏ qua cấp phát stack khi gọi hàm cho hiệu năng).

Cú pháp

Cú pháp lambda chỉ chứa một câu lệnh:

lambda [arg1 [,arg2,.....argn]]: expression

Ví dụ

#!/usr/bin/python
# Định nghĩa hàm
sum = lambda arg1, arg2: arg1 + arg2
# Gọi sum như hàm
print "Value of total : ", sum(10, 20)
print "Value of total : ", sum(20, 20)

Kết quả

Khi mã chạy, kết quả:

Value of total : 30
Value of total : 40