python decorator 用法

it2022-05-05  220

python decorator 用法

https://www.zhihu.com/question/31265857 http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html

方法装饰器

def decorator(Func): def new_Func(a, b): print 'input:', a, b return Func(a, b) return new_Func @decorator def square_sum(a, b): return a**2 + b**2 @decorator def square_diff(a, b): return a**2 - b**2 print square_sum(3, 4) print square_diff(3, 4) # output input: 3 4 25 input: 3 4 -7

类装饰器

def decorator(Class): class new_Class: def __init__(self, age): self.total_display = 0 self.wrapped = Class(age) def display(self): self.total_display += 1 print("total display", self.total_display) self.wrapped.display() return new_Class @decorator class Bird(object): def __init__(self, age): self.age = age def display(self): print("My age is", self.age) eagleLord = Bird(5) for i in range(3): eagleLord.display() # output ('total display', 1) ('My age is', 5) ('total display', 2) ('My age is', 5) ('total display', 3) ('My age is', 5) posted on 2015-08-26 15:04 北京涛子 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/liujitao79/p/4760455.html


最新回复(0)