def set_func(func):
def call_func():
print("----1-----")
func()
return call_func
def test1():
print("-----test1-----")
ret = set_func(test1)
ret()
执行步骤 :
set_func
函数, 并没有进去执行.test1()
, 也没有进去执行set_func
, 调用的时候是带着test1
函数的引用过去的.set_func
用的是func
这个变量来接收参数. 所以func指向了test1
函数的引用set_func(test1)
等价于 @set_func
@set_func
def test1():
print("-----test1-----")
test1()