装饰器简介
本课属于 Coddy Python 学习旅程的“面向对象编程”单元。第 9 课,共 64 课。
装饰器是一种修改或增强函数和类的方式,无需更改它们的原始代码。装饰器使用 @ 符号。
下面是一个简单装饰器的示例:
def my_decorator(func):
def wrapper():
print("Before function runs")
func()
print("After function runs")
return wrapper使用 @ 应用装饰器:
@my_decorator
def say_hello():
print("Hello!")调用经过装饰的函数:
say_hello()输出:
Before function runs
Hello!
After function runs@my_decorator 等价于这样写:
def say_hello():
print("Hello!")
say_hello = my_decorator(say_hello)不过,@ 语法更简洁,也更容易阅读。
要点:装饰器会包装函数,以添加额外功能,同时不修改原函数代码
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
面向对象编程中的所有课
自己练习: Python 在线编译器