Класс type
, из которых cls
является экземпляром, имеет атрибут __name__
, который является своего рода дескриптором:
>>> type.__dict__['__name__']
<attribute '__name__' of 'type' objects>
>>> type(_)
<class 'getset_descriptor'>
При попытке доступа к фактическому атрибуту экземпляра в cls
с тем же именем, getset_descriptor
имеет приоритет, так что единственный способ получить доступ к атрибуту Instant - напрямую через cls.__dict__
.