I have a class that I want to call its methods using just strings. How do I do that?
class MyClass:
def do_something():
print 'MyClass did something'
MyClass.get_method('do_something')()
I have a class that I want to call its methods using just strings. How do I do that?
class MyClass:
def do_something():
print 'MyClass did something'
MyClass.get_method('do_something')()
class MyClass:
def do_something(self):
print 'MyClass did something'
getattr(MyClass(),'do_something')()
You can do:
class MyClass:
@staticmethod
def do_something():
print 'MyClass did something'
And call:
getattr(MyClass, 'do_something')()
Note the addition of @staticmethod
to the method to ensure it can be called without a class instance.