Say I have a class with a bunch of methods:
class Human():
def eat():
print(\"eating\")
def sleep():
print(\"sleeping\")
def throne():
print
You can do this if you don't mind adding an __init__
and __call__
method to your class and self
to your method's arguments.
class Human():
def __init__(self):
return None
def __call__(self, act):
print "I am:"
method = getattr(self, act)
if not method:
raise Exception("Method %s not implemented" % method_name)
method()
def eat(self):
print "eating"
def sleep(self):
print "sleeping"
def throne(self):
print "on the throne"
John = Human()
John("eat")
John("sleep")
John("throne")
EDIT: see my other answer for a better solution