我已經做了一個簡單的測試程序來使用類進行實驗。它創建了一個「人」類,它接受了名稱和年齡的論點。我現在正在嘗試創建一個交互式程序,允許用戶管理一個人員列表,如註冊表或通訊簿。他們可以創建一個新的人,如下面的功能所示。Python:將函數結果/變量的值賦給一個類
def createnew():
newname = input("What is their name?")
newage = input("How old are they?")
newperson = Person(newname, newage)
當然,上面的問題是,它的字面意思是分配newname,而不是字符串值「newname」。所以我試了
newperson.lower() = Person(newname, newage)
str(newperson) = Person(newname, newage)
newperson[0:] = Person(newname, newage)
但是他們都返回錯誤,不能分配給函數調用。 我的問題是如何訪問變量newname的值並將其分配給Person或任何其他類。
注:我是一個n00b/newb,這意味着我不是來自另一種語言,並且正在閱讀一本書。如果他們不是很明顯,請解釋給出的答案。
很多謝謝。
它弄得有一點更清晰,我試圖讓新的人的名字對象名稱,用戶輸入的值(在我的例子是newperson)
更新:
感謝所有答案,我認爲允許用戶設置變量名稱並不是一個好主意,所以我重新調整了我的代碼。我創建了一個字典,在用戶創建新人之後,將類str函數給出的數據寫入給定名稱的鍵。雖然這意味着我以後不能訪問該對象,因爲新人將被覆蓋,它允許我用一組數據創建一個列表,這是我想要做的第一個地方,我只是錯誤地認爲設置對象名稱會更容易。 再次感謝。
你使用Python 2或Python 3? – imm 2012-03-17 17:58:18