Получить полное имя класса Python (Python 3.3+)
Как я могу получить имя класса, включая полный путь от его корневого модуля? Для Python 3.3 и выше?
Вот пример кода Python:
class A:
class B:
class C:
def me(self):
print(self.__module__)
print(type(self).__name__)
print(repr(self))
x = A.B.C()
x.me()
Этот код выводит меня на Python 3.3:
__main__
C
<__main__.A.B.C object at 0x0000000002A47278>
Итак, Python внутренне знает, что мой объект__main__.A.B.C
, но как я могу получить это программно? Я могу разобратьrepr(self)
, но это звучит как взломать для меня.