Python raw_input()字符串作为实例名称

时间:2013-10-09 08:18:39

标签: python oop instance

我正在使用python中的PhoneBook,我有一个类,我希望用户通过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()?

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用getattr

getattr(pb, Input)()

getattr返回函数,但不会调用它。因此最后有额外的()

其他一些事情:

  • 您应该返回 "name added"而不是打印它。
  • 为类添加大写的变量:)。函数的小写等