Python类内装饰器声明与调用具体操作是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1959个文字,预计阅读时间需要8分钟。
我的Python环境:3.7以上。在Python类中声明一个装饰器,并在该类中调用这个装饰器。
代码如下:pythonclass Test: xx=False
def __init__(self): pass
def test(self, func): def wrapper(*args, **kwargs): print(self.xx) return wrapper
我的Python环境:3.7
在Python类里声明一个装饰器,并在这个类里调用这个装饰器。
代码如下:
class Test(): xx = False def __init__(self): pass def test(func): def wrapper(self, *args, **kwargs): print(self.xx) return func(self, *args, **kwargs) return wrapper @test def test_a(self,a,b): print(f'ok,{a} {b}')
注意:
1. 其中装饰器test是在类Test中声明并在其方法test_a中调用
2. 装饰器test内层wrapper函数的首参数是self
补充知识:python-类内函数的全局装饰器
有时,比如写RF的测试库的时候,很多方法都写在一个类里。
本文共计1959个文字,预计阅读时间需要8分钟。
我的Python环境:3.7以上。在Python类中声明一个装饰器,并在该类中调用这个装饰器。
代码如下:pythonclass Test: xx=False
def __init__(self): pass
def test(self, func): def wrapper(*args, **kwargs): print(self.xx) return wrapper
我的Python环境:3.7
在Python类里声明一个装饰器,并在这个类里调用这个装饰器。
代码如下:
class Test(): xx = False def __init__(self): pass def test(func): def wrapper(self, *args, **kwargs): print(self.xx) return func(self, *args, **kwargs) return wrapper @test def test_a(self,a,b): print(f'ok,{a} {b}')
注意:
1. 其中装饰器test是在类Test中声明并在其方法test_a中调用
2. 装饰器test内层wrapper函数的首参数是self
补充知识:python-类内函数的全局装饰器
有时,比如写RF的测试库的时候,很多方法都写在一个类里。

