Được trả về từ hàm
Bài học 4 trên 9 trong khóa học Hàm lambda trong Python của Coddy.
Một ứng dụng thú vị khác của hàm lambda là trả về hàm này từ một hàm.
Ví dụ:
def power_of(a):
return lambda b : b ** a
cube = power_of(3) # chứa lambda b : b ** 3
square = power_of(2) # chứa lambda b : b ** 2
square_root = power_of(0.5) # chứa lambda b : b ** 0.5
print(cube(4)) # in ra 64
print(square(4)) # in ra 16
print(square_root(4)) # in ra 2Như bạn thấy, đây là cách tạo ra nhiều hàm nhỏ.
Bạn cũng có thể tạo một lambda trả về một lambda (khi đó lambda chỉ có một biểu thức):
power_of = lambda a : lambda b : b ** a
print(power_of(2)(5)) # in ra 25 = 5 ** 2Thử thách
DễTạo một hàm có tên message_constructor nhận hai chuỗi: tên và họ. Họ có thể là None.
Hàm sẽ tạo tên từ hai đối số theo các điều kiện sau:
- Nếu chỉ có tên, tên sẽ bằng tên đó
- Nếu có cả hai đối số, hàm sẽ ghép chúng lại và đặt một dấu cách ở giữa.
Hàm sẽ trả về một hàm lambda nhận một đối số và trả về một chuỗi.
Xem các test case để hiểu định dạng cần thiết của hàm lambda.
Tự làm thử
def message_constructor(first, last):
# Viết code ở đâyTất cả bài học trong Hàm lambda trong Python
Tự luyện tập: Trình biên dịch Python online