装饰器
装饰器接受一个函数作为输入,为其添加一些功能,然后返回增强的新函数。以 @wrapper
形式作用于其他函数。
正如你在上一节中所看到的,classmethod()
和 staticmethod()
就是常见的装饰器。
构建装饰器
def bigger(func):
def augmented_func():
print("Bigger", end=" ")
func()
return augmented_func
应用装饰器到无参函数
@bigger
def show_fruit():
print("Apple is great!")
show_fruit() # Bigger Apple is great!
应用装饰器到带参函数
def bigger(func):
def augmented_func(*args, **kwargs):
print("Bigger", end=" ")
func(*args, **kwargs)
return augmented_func
@bigger
def show_fruit(name, adjective):
print(f"{name} is {adjective}!")
show_fruit("Orange", "Sweeter") # Bigger Orange is Sweeter!
代码挑战
修改编辑器中代码使其输出:
--------------- LiteRank.cn! ---------------
。
Loading...
> 此处输出代码运行结果