Obtenga el nombre completo de una clase de Python (Python 3.3+)
¿Cómo puedo obtener el nombre de la clase, incluida la ruta completa desde la raíz del módulo? ¿Para Python 3.3 y superior?
Aquí hay un ejemplo de código 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()
Este código me muestra Python 3.3:
__main__
C
<__main__.A.B.C object at 0x0000000002A47278>
Entonces, Python sabe internamente que mi objeto es__main__.A.B.C
, pero ¿cómo puedo obtener esto mediante programación? Puedo analizarrepr(self)
, pero me parece un truco.