装饰器:在不影响原函数执行、不修改原函数代码的基础之上,附加一些其他的功能
三句口诀理解Python的函数作用域机制:
1、作用域,是栋楼,下楼套上楼
2、读变量,往下搜,一直到一楼
3、改变量,莫下楼,除非你放狗(global)
设置断点后的执行步骤:
执行结果:
读变量,往下搜,一直到一楼
执行结果:![]()
执行结果:![]()
此时改变量是不可以的,除非加上global
-------》
执行结果:![]()
两句口诀理解闭包与装饰器:
1、闭包:至少2层楼,楼下变量管上楼,return上楼不动手(return返回的是函数体对象,其后面不加括号)
2、装饰器:客人空手来(不动手),还得请上楼,干啥都同意,有参给上楼。
先有闭包,再有装饰器,也就是说装饰器是在闭包的基础之上。
闭包的简单示例:

装饰器:
执行结果:
执行结果:
带参数的
执行结果:
本文通过三句口诀帮助读者理解Python的作用域机制,并用两句口诀讲解闭包与装饰器的概念。通过示例代码,展示了装饰器如何在不修改原函数的基础上增加额外功能。
1952

被折叠的 条评论
为什么被折叠?



