Изменение переменной класса перед __new__Python

Программы на Python
Anonymous
 Изменение переменной класса перед __new__

Сообщение Anonymous »

Я бы хотел изменить полосу переменной класса класса, чтобы создание объекта было выполнено с помощью Bar2 вместо bar1
class A(object):
def __new__(cls, foo):
obj = super(A, cls).__new__(cls)
return obj

class B(A):

bar = "bar1"

def __new__(cls, foo=bar):
print("actual",foo)
rm = super().__new__(cls,foo=foo)
return rm

if __name__ == '__main__':

B.bar = 'bar2'
b = B()
print(b.bar)
< /code>
Когда я запускаю код, я получаю: < /p>
actual bar1
bar2
< /code>
, тогда как я ожидаю: < /p>
actual bar2
bar2


Подробнее здесь: https://stackoverflow.com/questions/793 ... before-new

Вернуться в «Python»