Python 输入问题中的变量
因此,我知道如果你这样做:Python 输入问题中的变量,python,variables,input,Python,Variables,Input,因此,我知道如果你这样做: variable1 = 10 variable2 = variable1 variable1 = 10 然后变量2将为10。但如果你这样做了: variable1 = 10 variable2 = variable1 variable1 = 10 然后要求输入: variable2 = input("...") 然后键入variable1作为输入,那么variable2将是'variable1'而不是10。在输入字符串variable1后,如何更改此值,
variable1 = 10
variable2 = variable1
variable1 = 10
然后变量2
将为10。但如果你这样做了:
variable1 = 10
variable2 = variable1
variable1 = 10
然后要求输入:
variable2 = input("...")
然后键入variable1
作为输入,那么variable2
将是'variable1'
而不是10。在输入字符串variable1
后,如何更改此值,使variable2
等于variable1
?如果您确定确实要这样做,可以使用eval
,但这是一种不好的做法,并且容易受到任意代码注入的影响
>>> variable1 = 10
>>> variable2 = eval(input())
variable1
>>> variable2
10
稍微好一点的方法可能是使用globals
或locals
内置,但这仍然是一种不好的做法
>>> variable2 = globals()[input()]
variable1
>>> variable2
10
通过这样做,你有什么具体的目标吗?因为最终,用户必须从脚本中“猜测”变量名?用户不应该知道代码中的变量名,imho。更好的方法是使用字典{'variable1':10}
@Chris\u Rands Very true。也许这是最好的方法,但我的目的是让他完全放弃这个想法。很可能实际的问题会导致一个用户可访问的键-值对列表,而不是脚本中的变量名,但很难看出OP真正想要做什么。