Я не уверен, что понимаю, почему вы хотите это сделать, но вы можете решить это по-другому, как это:
class A(object):
table = {
1: "add",
2: "multiply",
}
def go(self, n):
method = getattr(self, self.table[n])
method()
def add(self):
print "add"
def multiply(self):
print "multiply"
>>> a = A()
>>> a.go(1)
add
Изменить после прочтения вашего ответа на Cat Plus Plus:
Если вы просто хотите использовать псевдонимы для существующих методов, есть гораздо более простой способ сделать это - возможно, вы захотите иметь возможность вызывать эти методы на валлийском языке:
class A(object):
table = {
1: "add",
2: "multiply",
}
def go(self, n):
method = getattr(self, self.table[n])
method()
def add(self):
print "add"
def multiply(self):
print "multiply"
ychwanegu = add
lluosi = multiply
>>> a = A()
>>> a.lluosi()
multiply