2013-10-09 41 views
0

我正在使用python的PhoneBook,我有一個類,我希望用戶通過raw_input調用實例。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()?

提前致謝!

回答

1

使用getattr

getattr(pb, Input)() 

getattr返回功能,並且不調用它。因此最後的額外()

一些其他的事情:

  • 您應該"name added",而不是打印出來。
  • 爲類:)留下大寫的變量。小寫字母等功能
+0

是的印刷只是爲了測試。好的,謝謝你的幫助! – simtaxman

+0

@ingen以爲:p。沒問題:D – TerryA

+0

可以說我想將輸入的一部分發送到Add()函數,因爲Add()將給電話簿添加名稱,我該怎麼做? – simtaxman