def outer(func):
def inner():
print(
"begin")
func()
return inner
@outer
def f1():
print(
"hello")
f1()
--------------运行结果-------------
begin
hello
“@outer”功能:
自动执行outer函数,并将下面的函数名称f1当做参数传递给outer函数
执行f1时,实际上会自动去执行outer函数,并且此时的参数func即f1将outer函数的返回值,重新赋值给f1
outer函数的返回值为inner(为函数,非inner(),inner()对应的是执行print与f1(),对应的返回值为None),因此f1被赋值为inner。f1()即对应inner()。
转载请注明原文地址: https://ju.6miu.com/read-969395.html