class A(object):
def wrapped(self, func):
func.string = self.get_something()
return func
def get_something(self):
return "something"
@wrapped
def main(self):
print self.main.string
a = A()
a.main()
TypeError: wrapped() takes exactly 2 arguments (1 given)Python декораторы в классах Ошибка
Что вы хотите сказать? – zondo
'wrapped' вызывается до того, как класс даже существует ... поэтому нет экземпляров (очевидно) и, следовательно, ничего, что можно было бы считать« самоуверенным »... Что вы на самом деле пытаетесь выполнить? – mgilson
Я хочу использовать статические переменные в основном. Таким образом, переменные будут назначаться при вызове основной функции, а не A() – Jeffery