Hàm lambda là một hàm ẩn danh nhỏ.
Hàm lambda có thể nhận bất kỳ số lượng đối số (argument) nào nhưng chỉ có thể có một biểu thức.
Cú pháp
lambda arguments : expression
Trong đó
arguments: Đối số
expression: Biểu thức
Ví dụ:
x = lambda a: a + 24
print(x(5))
Sử dụng IDE Online để chạy chương trình
Vì hàm lambda có thể có bất kỳ số lượng đối số (argument) nào nên ta thêm một đối số nữa vào chương trình
x = lambda a,b: a*b + 24
print(x(5,2))
Chạy chương trình
Sức mạnh của lambda được thể hiện rõ hơn khi bạn sử dụng chúng như một hàm ẩn danh bên trong một hàm khác.
Giả sử chúng ta có Công thức tính lãi suất tiết kiệm có kỳ hạn 12 tháng:
Số tiền lãi = Số tiền gửi x lãi suất (%năm)/12 x số tháng gửi.
Nếu chúng ta xây dựng một hàm để tính số tiền lãi, với giả định lãi suất là 6.8% ta sẽ viết như sau
def tietKiem(n):
return lambda a : int((a * (n/100)/12) * 12)
tienLai = tietKiem(6.8)
print(tienLai(30000000))
Chạy chương trình. Hoàn hảo!
Gửi tiết kiệm 30.000.000 đồng với kỳ hạn 12 tháng tại ngân hàng có mức lãi suất 6,8%/năm, thì cách tính lãi suất ngân hàng cho số tiền tiết kiệm trong trường hợp này như sau:
* Lãi suất hàng tháng là 30.000.000 x 6,8/100/12 x 1 = 170.000 đồng
* Lãi suất sau 12 tháng gửi là 30.000.000 x 6,8/100/12 x 12 = 2.040.000 đồng
Nếu chúng ta không ép kiểu int thì kết quả tương tự nhưng là số thực: 2040000.0000005
Không có nhận xét nào:
Đăng nhận xét