Python闭包的使用方法

这篇文章主要介绍了Python闭包的使用方法,当返回的内部函数使用了外部函数的变量就形成了闭包,下文更多相关内容需要的小伙伴可以参考一下

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

到此这篇关于Python闭包的使用方法的文章就介绍到这了,更多相关Python闭包 内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是Python闭包的使用方法的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python