Python入门之python装饰器的4种类型:函数装饰函数、函数装饰类、类装饰函数、类装饰类

网友投稿 423 2022-09-02


Python入门之python装饰器的4种类型:函数装饰函数、函数装饰类、类装饰函数、类装饰类

一:函数装饰函数

def wrapFun(func): def inner(a, b): print('function name:', func.__name__) r = func(a, b) return r return inner@wrapFundef myadd(a, b): return a + bprint(myadd(2, 3))

二:函数装饰类

def wrapClass(cls): def inner(a): print('class name:', cls.__name__) return cls(a) return inner@wrapClassclass Foo(): def __init__(self, a): self.a = a def fun(self): print('self.a =', self.a)m = Foo('xiemanR')m.fun()

三:类装饰函数

class ShowFunName(): def __init__(self, func): self._func = func def __call__(self, a): print('function name:', self._func.__name__) return self._func(a)@ShowFunNamedef Bar(a): return aprint(Bar('xiemanR'))

四:类装饰类

class ShowClassName(object): def __init__(self, cls): self._cls = cls def __call__(self, a): print('class name:', self._cls.__name__) return self._cls(a)@ShowClassNameclass Foobar(object): def __init__(self, a): self.value = a def fun(self): print(self.value)a = Foobar('xiemanR')a.fun()

​​参考​​


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python入门之logging日志模块以及多进程日志(Python log日志)
下一篇:Python Web学习笔记之TCP的3次握手与4次挥手过程(python怎么读)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~