こんにちは私は「ネイトはクラスにいます」と言うデフォルトの呼び出しを取得しようとしています
開発者がデフォルト値を再度設定する必要がないように、クラスのメソッドをデフォルト値でラップできるようにしたいと思います。
しかし、次のコードは私にエラーを与えます:
Traceback (most recent call last):
File "", line 18, in
File "", line 9, in rtn
UnboundLocalError: local variable 'var1' referenced before assignment
私は今約1時間試していますが、これを機能させることができないようです。
コードは次のとおりです。
class Bob(object):
def bob(self,var1='bob',var2=' is in the class'):
print var1,var2
def defalter(func):
def rtn(self=None,*args, **kwargs):
if not var1:
var1 = 'nate'
return rtn
b = Bob()
r = defalter(b.bob)
r()