9.1装饰器前提
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.1装饰器前提相关的知识,希望对你有一定的参考价值。
装饰器三个前提:1. 作用域:原则:L E G B
2. 高阶函数:成立条件:①函数作为函数参数输入,或者②函数做为返回值输出;
3. 闭包:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)
def outer():
x=10
def inner():
print(x)
return inner
print(outer())
# <function outer.<locals>.inner at 0x00000068BEC8D158>
outer()()
# 10
f=outer()
f()
# 10
如上实例:inner就是内部函数,inner里引用了外部作用域的变量x(x是在外部作用域outer里面,但不是全局变量),则这个内部函数inner就是一个闭包。
闭包=函数块+定义函数时的环境,inner就是函数块,x就是环境,当然这个环境可以有很多,不止一个简单的x。
大家对内容有任何问题,欢迎留言,定在第一时间解答,谢谢大家!
以上是关于9.1装饰器前提的主要内容,如果未能解决你的问题,请参考以下文章