0
私は本当にここにいます。私はラッパーに引数を渡す必要があります。これらの引数は実行時に変更されます。どのようにこれはクラスのラッパーを使用して解決することができる任意のアイデア? Python 2:実行時に評価された引数を持つラッパー
def wrapper(x=None):
def decorate(cls):
def fct(self):
print('wrapper argument is: %s' % x)
cls.fct = fct
return cls
return decorate
a = 'first'
@wrapper(x=a)
class Test():
pass
test = Test()
test.fct() # Prints: first
a = 'second'
test.fct() # Prints: first (instead of second)
ここでは良い答えです:http://stackoverflow.com/a/15148557/1647656 –
あなたの答えをありがとう。私はまだ理解していません - リストのような可変オブジェクトを渡しても動作しません(a = ['first'] @wrapper(x = a)、...)。この問題を解決するにはどうすればいいですか? – Croneter