You probably want a classmethod. It works like a staticmethod, but takes the class as an implicit first argument.
class Claaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass(object): @classmethod def foo(cls): print cls.__name__ Claaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass.foo() # prints Claaa...
Warning:
class Subclaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass( Claaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass): pass Subclaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass.foo() # prints Subclaaa...
Alternatively, define a shorter alias for your class at module level:
class Claaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass2(object): @staticmethod def foo(): return _cls2 _cls2 = Claaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass2 # prints True print (Claaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass2 is Claaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaass2.foo())