Python闭包的使用方法
更新时间:2022年04月11日 19:10:23 作者:程序员班长
这篇文章主要介绍了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闭包 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
pytorch中Schedule与warmup_steps的用法说明
这篇文章主要介绍了pytorch中Schedule与warmup_steps的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-05-05
Python高级应用实例对比:高效计算大文件中的最长行的长度
在操作某个很多进程都要频繁用到的大文件的时候,应该尽早释放文件资源(f.close()),只有这样才能算是一则高效率的代码,下面我们就来分析下这3种方法的优劣2014-06-06
python geopandas读取、创建shapefile文件的方法
shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Class),主要包括点(point)、线(polyline)和多边形(polygon),本文重点给大家介绍python geopandas读取、创建shapefile文件的方法,需要的朋友参考下吧2021-06-06


最新评论