HiveBrain v1.2.0
Get Started
← Back to all entries
patternpythonCritical

Getting the class name of an instance

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
thegettingnameclassinstance

Problem

How do I find out the name of the class used to create an instance of an object in Python?

I'm not sure if I should use the inspect module or parse the __class__ attribute.

Solution

Have you tried the __name__ attribute of the class? ie type(x).__name__ will give you the name of the class, which I think is what you want.

>>> import itertools
>>> x = itertools.count(0)
>>> type(x).__name__
'count'


If you're still using Python 2, note that the above method works with new-style classes only (in Python 3+ all classes are "new-style" classes). Your code might use some old-style classes. The following works for both:

x.__class__.__name__

Code Snippets

>>> import itertools
>>> x = itertools.count(0)
>>> type(x).__name__
'count'
x.__class__.__name__

Context

Stack Overflow Q#510972, score: 2639

Revisions (0)

No revisions yet.