I have the following code:
class ObjectOne(object):
@classmethod
def print_class_name(cls):
print cls.__class__.__name__
def print_class_nam
It's cls.__name__
. cls
already points to the class, and now you're getting the name of its class (which is always type
).
I had a similar question and wantend to get the class name for logging and the function/method name.
__name__ : gives the program name
__class__.__name__ gives the class name
inspect.stack()[0][3] gives the module name. (you have to import inspect).
Cheers
A classmethod receives the class as its argument. That's why you're calling it cls
. Just do cls.__name__
.