(.*)释然
2019-02-21 21:37Python使用类装饰器出现报错:TypeError: test2() missing 1 required positional argument: 'b'
20
class Timer(object):
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
print("权限验证成功...")
result = self.func(*args, **kwargs)
print("新添加退出成功提示...")
return result
class Test(object):
@Timer
def test2(self, a, b): # 需要参数的
c = a + b
print("test2两个数的求和结果是:", c)
t = Test()
t.test2(2, 3)
出现报错:TypeError: test2() missing 1 required positional argument: 'b'
为什么会出现selef必须传参呢,如果在test2上面添加@staticmethod删除selef参数将不会出现报错,但是这不符合装饰器的用法了,应该怎么改才能使得Test类不该任何代码的情况下加@Timer就能直接使用呢
- 点赞
- 回答
- 收藏
- 复制链接分享
2条回答
为你推荐
- 解决python __init__() missing 1 required positional argument: 'layers'
- python
- 深度学习
- 神经网络
- 机器学习
- 1个回答
- python 'if __name__ == "__main__":' 错误,直接执行测试(Terminal 运行正常)
- python
- 机器学习
- tensorflow
- 4个回答
- Python使用类装饰器出现报错:TypeError: test2() missing 1 required positional argument: 'b'
- 开发语言
- 2个回答