0

我正在用python编写电话簿,我有一个类,我希望用户通过raw_input调用实例。

例如

class PhoneBook():

    def Add(self):
        print "Name added"

def main():
    pb = PhoneBook()
    Input = raw_input()
    #Here I want to call pb.add() (and in the future other alternatives)
    #using the string Input. As I want it (but I know doesn't work): pb.Input[0]
    #provided the user types Add

是否可以使用字符串调用 pb.Add()?

提前致谢!

4

1 回答 1

1

使用getattr

getattr(pb, Input)()

getattr返回函数,并且不调用它。因此,最后的额外内容()

其他一些事情:

  • 您应该返回 "name added"而不是打印它。
  • 为类保留大写命名的变量:)。小写的函数等。
于 2013-10-09T08:20:02.377 回答