信息发布→ 登录 注册 退出

Python闭包的使用方法

发布时间:2026-01-11

点击量:
目录
  • 1.闭包的定义和使用
  • 2.闭包内函数修改外函数定义的变量(加nonlocal)

1.闭包的定义和使用

当返回的内部函数使用了外部函数的变量就形成了闭包
闭包可以对外部函数的变量进行保存,还可以提高代码的可重用性

实现闭包的标准格式:

  • 1.函数嵌套
  • 2.内部函数使用外部函数的变量或参数
  • 3.外部函数返回了内部函数
'''
当返回的内部函数使用了外部函数的变量就形成了闭包
闭包可以对外部函数的变量进行保存,还可以提高代码的可重用性
实现闭包的标准格式:
    1.函数嵌套
    2.内部函数使用外部函数的变量或参数
    3.外部函数返回了内部函数
'''
 
# 定义一个闭包
def outer():    # 外部函数
    n=1
    def inner():    # 内部函数
        print(n)
    # 外函数返回内函数的引用(不用带括号哈)
    return inner
 
outer() # 调用外函数不会执行内函数
# inner() # 不能直接调用内函数
ret=outer() # 把内函数的引用给ret
print(ret)
ret()
 
# 闭包的使用
def person(name):
    def say(msg):
        print(f'{name} say:  {msg}')
    return say
 
tom=person('Tom')
rose=person('Rose')
tom('Hello')
rose('World')

2.闭包内函数修改外函数定义的变量(加nonlocal)

def outer():
    n=1
    def inner():
        nonlocal n  # 不加会报错,列表、字典、元祖不用加
        n=n+10
        print(n)
    print(n)    # 输出1
    return inner
 
fun=outer()
fun()   # 输出11
fun()   # 输出21
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!