Menu
CoddyTech

从函数返回

Coddy Python Lambda 函数 课程的第 4 课,共 9 课。

lambda 函数的另一个有趣用法是从函数中返回它。

例如:

def power_of(a):
	return lambda b : b ** a

cube = power_of(3)  # 保存了 lambda b : b ** 3
square = power_of(2)  # 保存了 lambda b : b ** 2
square_root = power_of(0.5)  # 保存了 lambda b : b ** 0.5

print(cube(4))  # 输出 64
print(square(4))  # 输出 16
print(square_root(4))  # 输出 2

如你所见,这是一种生成多个小函数的方法。

也可以创建一个返回 lambda 的 lambda(当它是一个表达式时):

power_of = lambda a : lambda b : b ** a

print(power_of(2)(5))  # 输出 25 = 5 ** 2
challenge icon

挑战

简单

创建一个名为 message_constructor 的函数,它接收两个字符串:名字和姓氏。姓氏可以是 None。

该函数会根据以下条件,将两个参数组合成一个姓名:

  • 如果只有名字存在,那么姓名就等于名字。
  • 如果两个参数都存在,函数就会用一个空格将它们组合起来。

该函数会返回一个 lambda 函数,该函数接收一个参数,并返回一个字符串。

查看测试用例,了解 lambda 函数所需的格式。

亲手试试

def message_constructor(first, last):
    # 在这里编写代码

Python Lambda 函数中的所有课

1Lambda 表达式

介绍语法带参数从函数返回

2使用内置函数

filter 函数map 函数

自己练习: Python 在线编译器