This is annoying:
class MyClass:
@staticmethod
def foo():
print "hi"
@staticmethod
def bar():
MyClass.foo()
Is there a way to make this work without naming MyClass in the call? i.e. so I can just say foo() on the last line?
There is no way to use
fooand get what you want. There is no implicit class scope, sofoois either a local or a global, neither of which you want.You might find classmethods more useful:
This way, at least you don’t have to repeat the name of the class.