Mr.Li--python-闭包和装饰器

闭包:

在函数内部在定义一个函数,并且这个函数用到了外面函数的变量,这个函数和用到的变量,称为闭包.


deftest_in(number_in):

print("in test_in函数, number_in is %d"%number_in)

returnnumber+number_in

#其实这里返回的就是闭包的结果

returntest_in

#给test函数赋值,这个20就是给参数number

ret = test(20)

#注意这里的100其实给参数number_in

print(ret(100))

#注意这里的200其实给参数number_in

print(ret(200))

运行结果:

intest_in函数, number_inis100

120

intest_in函数, number_inis200

220

闭包思考:

1.闭包似优化了变量,原来需要类对象完成的工作,闭包也可以完成

2.由于闭包引用了外部函数的局部变量,则外部函数的局部变量没有及时释放,消耗内存

装饰器:

装饰器的功能就是在运行原来功能基础上,加上一些其他功能,不修改原来的代码进行功能的扩展.

功能:


引用日志

函数执行时间统计

执行函数前预备处理

执行函数后清理功能

权限校验

缓存

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容