如有理解错误,欢迎指正
不使用装饰器
def func3(s):
return s
print(func3("string"))
输出:
‘string’
使用装饰器
def func1(f):
def func2(string):
return string+" here"
return func2
@func1 # 装饰器
def func3(s):
return s
print(func3("string"))
输出:
‘string here’
修饰器的作用就是把func3当作输入进入func1, 同时传递参数string进func1。
语法糖
如果不使用修饰器来实现这一操作就涉及到语法糖的概念
def func1(f):
def func2(string):
return string+" here"
return func2
def func3(s):
return s
s1 = func1(func3) # 语法糖
s2 = s1("string") # 语法糖
print(s2))
输出:
‘string here’