千家信息网

Python的闭包怎么使用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"Python的闭包怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.闭包的定
千家信息网最后更新 2026年11月03日Python的闭包怎么使用

本篇内容介绍了"Python的闭包怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.闭包的定义和使用

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

实现闭包的标准格式:

  • 1.函数嵌套

  • 2.内部函数使用外部函数的变量或参数

  • 3.外部函数返回了内部函数

'''当返回的内部函数使用了外部函数的变量就形成了闭包闭包可以对外部函数的变量进行保存,还可以提高代码的可重用性实现闭包的标准格式:    1.函数嵌套    2.内部函数使用外部函数的变量或参数    3.外部函数返回了内部函数''' # 定义一个闭包def outer():    # 外部函数    n=1    def inner():    # 内部函数        print(n)    # 外函数返回内函数的引用(不用带括号哈)    return inner outer() # 调用外函数不会执行内函数# inner() # 不能直接调用内函数ret=outer() # 把内函数的引用给retprint(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()   # 输出11fun()   # 输出21

"Python的闭包怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0