Menu
CoddyTech

Đượ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 2

Như 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 ** 2
challenge icon

Thử 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 ở đây

Tất cả bài học trong Hàm lambda trong Python

1Hàm lambda

Giới thiệuCú phápCó tham sốĐược trả về từ hàm

2Với hàm tích hợp sẵn

lọcánh xạ

Tự luyện tập: Trình biên dịch Python online