2011-12-02 16 views
5

Probablemente estoy pasando por alto algo simple. Dado un ejemplo de una clase, me gustaría obtener solo el nombre de la clase. Por ejemplo:Obtenga solo un nombre de clase sin módulo, etc.

class Foooo: pass 
instance = Foooo() 

print("instance.__class__ = "+str(instance.__class__)) 
print("Just the class name: "+str(instance.__class__).split(".")[-1][:-2]) 

Esto da el siguiente resultado:

instance.__class__ = <class '__main__.Foooo'> 
Just the class name: Foooo 

¿Hay algo más sencillo que

str(instance.__class__).split(".")[-1][:-2]? 

estoy en Python 3.2, si eso ayuda ...

+0

Este es un duplicado de http://stackoverflow.com/q/510972/2099613. Puede encontrar más explicaciones, incluida la solución preferida 'type (instance) .__ name__' there – yanlend

Respuesta

15

Pruebe esto:

instance.__class__.__name__ 
+0

Muchas gracias, ¡debería haberme dado cuenta de eso! –

Cuestiones relacionadas