def color(func):
def red():
return '\033[31;1m%s\033[0m' % func()
return red
def hello():
return 'Hello World!'
@color
def welcome():
return 'Hello China!'
if __name__ == '__main__':
hello = color(hello) # 此种写法可以换成为welcome加上@color的写法
print(hello())
print(welcome()) # welcome因为有装饰器,所以调用时不是调用welcome函数
# 而是相当于color(welcome)()
# color(welcome)返回red,color(welcome)()
# 等价于red()
77-装饰器基础
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 面向对象 类概念 类的定义 类的实例化 类和实例的属性 类的私有变量 数据封装 继承 多态 多继承 类的特殊方法 ...
- 8 装饰器 1 装饰器(函数式实现) 2 通过类方式,实现装饰器 通常装饰器使用 使用@check 方式实际上就是...
- 1、装饰器原理 2、装饰器语法 3、装饰器执行的时间 装饰器在Python解释器执行的时候,就会进行自动装饰,并不...