2011-12-02 11 views
5

Prawdopodobnie przeoczyłem coś prostego. Biorąc pod uwagę instancję klasy, chciałbym uzyskać tylko nazwę klasy. Na przykład:Zdobądź tylko nazwę klasy bez modułu, itp.

class Foooo: pass 
instance = Foooo() 

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

To daje następujący wynik:

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

jest tam coś prostsze niż

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

jestem w Pythonie 3.2, czy to pomaga ...

+0

To jest duplikat http://stackoverflow.com/q/510972/2099613. Możesz znaleźć więcej wyjaśnień, w tym preferowane rozwiązanie 'type (instance) .__ name__' there – yanlend

Odpowiedz

15

Spróbuj tego:

instance.__class__.__name__ 
+0

Dziękuję bardzo, powinienem sobie to uświadomić! –

Powiązane problemy