В CPython 3.7 единственный способ воспроизвести вашу проблему - это поставить точку останова и отладить ваш код.
Итак, множественные вызовы Count.__getattribute__
, скорее всего, вызваны чем-то другим (в моем случае: отладчик), который пытается получить доступ к вашим атрибутам класса.
Для записи, вот трассировка, когда я запускаю ваш код обычным способом:
__getattribute__: mymin
1
__getattribute__: mymax
10
__getattribute__: current
__getattribute__: __dict__
0
end
Обратите внимание, что нетТрассировка исключений отображается даже при обращении к obj1.current
.Это специфическое поведение, которое я не могу объяснить.