【发布时间】:2012-03-17 17:54:59
【问题描述】:
我制作了一个简单的测试程序来使用类进行实验。它创建了一个“人”类,它接受名称和年龄的参数。我现在正在尝试创建一个交互式程序,该程序允许用户管理人员列表,例如寄存器或地址簿。他们可以创建一个新人,如下面的函数所示。
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 函数给出的数据写入给定名称的键。虽然这意味着我以后无法访问该对象,因为 newperson 将被覆盖,但它允许我使用一组数据构建一个人员列表,这是我首先想要做的,我只是错误地认为设置对象名称会更容易。 再次感谢。
【问题讨论】:
-
您使用的是 Python 2 还是 Python 3?