how to get name of a class inside static method, i have inheritance and want name of derived class
IN following example what shall be there in place of XXX
I'm pretty sure that this is impossible for a static method. Use a class method instead:
class Snake(object):
@classmethod
def my_name(cls):
print cls.__name__
A static method in Python is for all intents and purposes just a function. It knows nothing about the class, so you should not do it. It's probably possible, most things tend do be. But it's Wrong. :)
And in this case, you clearly do care about the class, so you don't want a static method. So use a class method.