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)))
  1. range(11) 生成序列 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  2. map(factorial, range(11)) 对每个数字应用 factorial 函数
  3. list() 将 map 对象转换为列表

等价写法

# 使用列表推导式
[factorial(n) for n in range(11)]

# 使用循环
result = []
for n in range(11):
    result.append(factorial(n))
posted @ 2025-08-01 16:25  思远宁致  阅读(7)  评论(0)    收藏  举报