クラスのメソッドにデコレーターを付けたい時はどのようにすればようのでしょうか?
a.visible=Trueの時,a.add(2,3)で5が出力されるようにしたいと考えています
次のようにした時,エラーが出てしまいます.
python
1def is_true(arg): 2 def wrapper1(func): 3 def wrapper2(*args,**kargs): 4 if arg: 5 func(*args,**kargs) 6 return wrapper2 7 return wrapper1 8 9class A(): 10 def __init__(self): 11 self.visible = True 12 self.selected = True 13 14 @is_true(self.visible) 15 def add(a,b): 16 print(a+b)
python
1a = A() 2a.add(2,3) 3 4#>>TypeError: add() takes 2 positional arguments but 3 were given
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/18 18:15