闭包定义
百度中搜索闭包,百度百科给长的定义 闭包就是能够读取其他函数内部变量的函数。从定义中可以看出,要形成闭包,至少要有2个函数,且其中一个函数能够读取另一函数的内部变量。
Python 闭包函数的一般形式
def out(argv1,...):
"""
功能块
"""
def inner(argv,...):
"""
功能块
"""
return inner
在内部函数inner 中可以调用外部函数out的局部变量。
从这个形式中,可以看出装饰器就是一种闭包函数。
Python 闭包函数的特点
Python 闭包函数的缺点
闭包中的局部变量不释放,将会占用内存空间,闭包过多会占用大量内存空间,严重可能会导致内存溢出。
Python 闭包函数的应用
Python 闭包函数典型应用代码
下面的代码 为 robotframework 中robotlibcore.py 中的一段代码,https://github.com/robotframework/PythonLibCore
在此代码中,采用闭包实现装饰功能。
def keyword(name=None, tags=()):
if callable(name):
return keyword()(name)
def decorator(func):
func.robot_name = name
func.robot_tags = tags
return func
return decorator
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。