map() 函数在函数式编程中的应用
python中函数为一个对象,
1,运行时函数可将一个变量赋值给它,通过变量名称访问函数
2,也能将函数作为参数赋值给其他函数,也能作为返回的类型返回
def factorial(n):
"""返回n!"""
return 1 if n < 2 else n * factorial(n-1)
# 查看函数的各种属性
print(f"函数名: {factorial.__name__}") # factorial
print(f"文档字符串: {factorial.__doc__}") # 返回n!
print(f"模块: {factorial.__module__}") # __main__
print(f"注解: {factorial.__annotations__}") # {}
print(f"默认参数: {factorial.__defaults__}") # None
# 测试函数功能
print(f"5! = {factorial(5)}") # 120
print(f"0! = {factorial(0)}") # 1
list(map(factorial,range(11)))
- range(11) 生成序列 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- map(factorial, range(11)) 对每个数字应用 factorial 函数
- list() 将 map 对象转换为列表
等价写法
# 使用列表推导式
[factorial(n) for n in range(11)]
# 使用循环
result = []
for n in range(11):
result.append(factorial(n))