Module (48%)
Section (40%)

Внутренняя жизнь классов и объектов: продолжение

__dict__ - это словарь. Стоит упомянуть еще одно встроенное свойство: __name__, которое является строкой.

Свойство содержит имя класса. В этом нет ничего захватывающего, просто строка.

Примечание. Атрибут __name__ отсутствует в объекте - он существует только внутри классов.


Если Вы хотите найти класс определенного объекта, Вы можете использовать функцию с именем type(), которая способна (среди прочего) найти класс, который использовался для создания экземпляров любого объекта.

Посмотрите код в редакторе, запустите его и убедитесь сами.

Код выводит:

Classy Classy

output

Примечание. Подобное утверждение:

print(obj .__name__)
приведет к ошибке.



Code

class Classy:
pass


print(Classy.__name__)
obj = Classy()
print(type(obj).__name__)
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×