Get parent class name?
oop, python
Solution
From the documentation: https://docs.python.org/2/reference/datamodel.html#the-standard-type-hierarchy
Class objects have a `__name__` attribute. It might cleaner to introspect the base class(es) through the `__bases__` attr of the derived class (if the code is to live in the derived class for example).
>>> class Base(object):
... pass
...
>>> class Derived(Base):
... def print_base(self):
... for base in self.__class__.__bases__:
... print base.__name__
...
>>> foo = Derived()
>>> foo.print_base()
Base
Problem
``` class A(object): def get_class(self): return self.__class__ class B(A): def __init__(self): A.__init__(self) b = B() print b.get_class() ``` This code will print `<class '__main__.B'>`. How can I get the class name where the method has been defined (namely `A`)?