学习装饰器之前,掌握以下三点知识:
1.作用域:
查找变量顺序:L——E——G——B
x=10
def f():
t=5 t是嵌套作用域
def inner():
count=7 count是局部变量,作用域local域
return 1
2.高阶函数:
1》函数名可以作为参数输入
2》函数名可以作为返回值
3.闭包
def outer():
x=10
def inner():
print(x)
return inner
outer()() 调用inner
1.局部变量,全局无法调用
2.inner是内部函数。x是外部环境的一个变量。
inner就是一个闭包
定义:如果在一个内部函数里,对在外部作用域(但不是全局作用域)的变量进行引用,那么内部函数就被认为是闭包。
闭包=函数块+定义函数时的环境。
原文地址:https://www.cnblogs.com/zd37/p/11562145.html
时间: 2024-11-15 21:32:41