2011-12-02 14 views
5

Probabilmente sto trascurando qualcosa di semplice. Data un'istanza di una classe, mi piacerebbe ottenere solo il nome della classe. Per esempio:Ottieni solo un nome di classe senza modulo, ecc.

class Foooo: pass 
instance = Foooo() 

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

Questo dà il seguente risultato:

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

C'è qualcosa di più semplice di

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

Sono in Python 3.2 se questo aiuta ...

+0

Questo è un duplicato di http://stackoverflow.com/q/510972/2099613. Puoi trovare più spiegazioni tra cui la soluzione preferita 'type (instance) .__ name__' there – yanlend

risposta

15

Prova questo:

instance.__class__.__name__ 
+0

Grazie mille, avrei dovuto rendermene conto! –

Problemi correlati