Python的装饰器 发表于 2015-12-02 | 分类于 技术 | | 阅读次数: | 字数统计: 265 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758def decorate(func, finery): def wrap(*args, **kwargs): return '{0} {1}'.format(finery, func(*args, **kwargs)) return wrapdef big_trouser(func): return decorate(func, "垮裤")def tsherts(func): return decorate(func, "大T恤")def sneaker(func): return decorate(func, "破球鞋")def suit(func): return decorate(func, "西装")def tie(func): return decorate(func, "领带")def leather_shoes(func): return decorate(func, "皮鞋")class Main: def __init__(self, name): self.name = name @big_trouser @tsherts def one(self): print('第一种装扮') return self.show() @leather_shoes @tie @suit def two(self): print('第二种装扮') return self.show() @sneaker @leather_shoes @big_trouser @tie def three(self): print('第三种装扮') return self.show() def show(self): return '装扮的{0}'.format(self.name)if __name__ == '__main__': xc = Main('小菜') print(xc.one()) print(xc.two()) print(xc.three()) 输出 123456第一种装扮垮裤 大T恤 装扮的小菜第二种装扮皮鞋 领带 西装 装扮的小菜第三种装扮破球鞋 皮鞋 垮裤 领带 装扮的小菜