赞
踩
# 1. 定义外部函数 def outer(num): # 2. 定长内部函数, 在内部函数中使用外部函数的变量 def inner(num1): print(num + num1) # 3. 外部函数返回内部函数的地址 return inner # 函数名字就是函数的地址 if __name__ == '__main__': # 创建闭包实例 func = outer(100) # 此时 func相当于是 inner, 保存的 num值为 100 # 调用闭包 func(10) f2 = outer(1000) # 创建一个闭包实例, 保存的 num 值是 1000 f2(10) func(10)
# 定义外部函数, 参数是人名 def config_name(name): # 定义内部函数,参数是 说话的信息 def inner(info): # 内部函数中,将 name 和 info 进行拼接输出 print(f"{name}: {info}") # 外部函数,要返回内部函数的地址 return inner # 创建闭包实例 tom = config_name('Tom') jerry = config_name("Jerry") tom('hello') jerry('hi') tom('how are you') jerry('fine')
def outer(): num = 10 def inner(): # num = 100 # 不是修改外部变量的值,重新定义的局部变量 nonlocal num # 声明使用外部变量 num, 不重新定义 num = 100 print(f'调用 inner 之前:{num}') inner() print(f'调用 inner 之后:{num}') return inner if __name__ == '__main__': func
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。