Что должен напечатать этот код?
class Parent():
class Meta(object):
classattr = "Hello"
class Child(Parent):
pass
Child.Meta.classattr = "world"
ch = Child()
pr = Parent()
ch.Meta.classattr = "Oppa"
print Parent.Meta.classattr
print Child.Meta.classattr
print pr.Meta.classattr
print ch.Meta.classattr
Я ожидал следующее:
Hello
world
Hello
Oppa
Но получил
Oppa
Oppa
Oppa
Oppa
Итак... я могу изменить родительский класс (не экземпляр!), изменив экземпляр дочернего класса. Это нормально?