Я знаю, что вы должны знать, в то время как redefine setattr метод, который вы могли бы закончить в цикле.Python: избегайте цикла __setattr__, используя __dict__, не должен ли он зацикливаться?
Я знаю, что есть два решения, чтобы избежать петли:
1) с использованием объекта суперкласса, вызов:
object.__setattr__(instance,attr,value)
2) с использованием класса Dict:
self.__dict__[attr] = value
Мой вопрос, не должно ли решение __dict__
оказаться в петле? и почему это не так?
Это потому, что мы вызываем __setattr__
объекта __dict__
(все объекты) или что?
И если да, не должно ли оно работать одинаково для всего?
'a [b] = c' не устанавливает атрибут. Он устанавливает элемент. Это другое понятие и концептуально, и w.r.t. используемые методы. – delnan