您现在的位置是:网站首页>列表内容
Python闭包的使用方法_python_
2023-05-26 13:22:06
169人已围观
简介 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闭包 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
点击排行
![](http://img.jbzj.com/file_images/game/201407/2014071514474851.jpg)
- 塞尔达传说神奇的帽子攻略玩法图文攻略介绍_单机游戏_游戏攻略_
- 自由战争基础玩法心得介绍 自由战争刷武器与恩赦点方法攻略_单机游戏_游戏攻略_
- 暗黑3 PTR2.1 传奇宝石升级攻略效果一览_单机游戏_游戏攻略_
- 地狱突袭逃亡第6关怎么过?地狱突袭逃亡第6关技巧攻略_单机游戏_游戏攻略_
- 神界3原罪纯洁教大教堂怎么过? 纯洁教大教堂通关方法_单机游戏_游戏攻略_
- 植物大战僵尸2疯狂博士第三天通关图文攻略_单机游戏_游戏攻略_
- 万智牌2015进不去怎么办? 万智牌2015游戏无法运行如何解决?_单机游戏_游戏攻略_
- 植物大战僵尸2植物碎片怎么兑换植物?_单机游戏_游戏攻略_
- 万智牌2015闪退跳出解决方法 万智牌2015闪退跳出怎么处理?_单机游戏_游戏攻略_
本栏推荐
![](http://img.jbzj.com/file_images/game/201407/2014071514474851.jpg)
-
塞尔达传说神奇的帽子攻略玩法图文攻略介绍_单机游戏_游戏攻略_
-
自由战争基础玩法心得介绍 自由战争刷武器与恩赦点方法攻略_单机游戏_游戏攻略_
-
暗黑3 PTR2.1 传奇宝石升级攻略效果一览_单机游戏_游戏攻略_
-
地狱突袭逃亡第6关怎么过?地狱突袭逃亡第6关技巧攻略_单机游戏_游戏攻略_
-
神界3原罪纯洁教大教堂怎么过? 纯洁教大教堂通关方法_单机游戏_游戏攻略_
-
植物大战僵尸2疯狂博士第三天通关图文攻略_单机游戏_游戏攻略_
-
万智牌2015进不去怎么办? 万智牌2015游戏无法运行如何解决?_单机游戏_游戏攻略_
-
植物大战僵尸2植物碎片怎么兑换植物?_单机游戏_游戏攻略_
-
万智牌2015闪退跳出解决方法 万智牌2015闪退跳出怎么处理?_单机游戏_游戏攻略_