77-装饰器基础

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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容