在程序内创建变量

时间:2013-09-30 17:06:46

标签: python

编辑:这不是一个重复的问题。这里收到的答案实际上在程序中创建了新的变量/对象。这可能是也可能不是最适合我的事情并不重要。建议的“复制”实际上并不创建新的“对象”/“变量”,它只是操纵字典的权力。
这不是一个重复的答案。

我想在Python程序中使用用户生成的变量。

例如,我想要一个

raw_input('Enter new variable: ')

也许这个人想要调用他的新变量'X',也许也可以将它设置为整数0。

然后,如果它适合他,可以创建另一个变量'Y',其中包含raw_input()...和Z,或者A B C PHI OMEGA ...等等,只要他喜欢。 ...分别将它们设置为所有整数。

这似乎是列表的工作。它只是列表和附加的工作,并从列表中调用吗?

请记住我想命名/创建一个新的变量ex nihilo。我不是问如何使用raw_input()或其他任何东西将变量设置为变量的枯燥问题。

如果你问为什么,那是因为我天真地怀疑从长远来看这会更快。

2 个答案:

答案 0 :(得分:6)

在这种情况下,使用字典将是一个好主意:

varis = {} # a dictionary of variables, just name/value pairs
v = raw_input('Enter new variable: ')

varis[v] = "some value" # "create" a variable with the name stored in `v`

varis[v]                # "access" the variable's value
=> "some value"

答案 1 :(得分:0)

1)你要求的是一个坏主意。你几乎肯定不想这样做。

2)以下是如何做到这一点:

name = raw_input("Name the variable:")
value = raw_input("And the value?")
exec("{} = {}".format(name, value))