"""
func1.py 文件
1、执行到@w1
2、被装饰函数作为装饰器参数 w1(func=f1())
3、w1 函数执行有返回值,得用变量接收,变量名为f1 合适
"""
def w1(func):
def inner():
print('...验证权限...')
func()
return inner
@w1
def f1():
print('f1 called')
===================================================
"""
func2.py 文件
1、执行到@w1
2、被装饰函数作为装饰器参数 w1(func=f1())
3、w1 函数执行有返回值,得用变量接收,变量名为f1 合适
"""
def w1(func):
def inner():
print('...验证权限...')
func()
return inner
@w1
def f1():
print('f1 called')
f1()
"""
执行f1() 实际执行的是谁?-->是inner() 函数
为什么?-->步骤3 w1 函数返回值赋值给了f1
那实际是什么赋值给f1 变量了?-->是inner() 函数
现在执行f1() 当然执行的是inner() 函数
在执行inner() 函数的过程中有个func() 这个是什么?-->是w1 函数的参数
那这个函数实际执行的是谁?-->步骤2 有说明,实际指向的是被装饰的函数f1
"""