在python中,有没有办法创建一个名为另一个变量值的变量?

时间:2016-02-15 12:35:53

标签: python variables

举个例子: 直径= 7

接下来是我想给一个变量名为7的值

7 = 21

2 个答案:

答案 0 :(得分:2)

是的,您可以通过修改locals()

来实现
-----------------------------------------------------
Category|Rating 1|Rating 2|Rating 3|Rating 4|Rating 5|
------------------------------------------------------
Action  |2       |3       |5       |5       |9       |  
Comedy  |9       |8       |6       |9       |14      | 
Fantasy |1       |2       |3       |6       |7       | 

注意: my_var = 'vla' locals()[locals()['my_var']] = 'some_value' # or use setdefault if you don't wan't to override variable if it already exist locals().setdefault(locals()['my_var'], 'some_value') print vla # some_value 的值应为有效的python变量名称。这是大写和小写字母A到Z, 下划线_和,除了第一个字符,数字0到9(很快使用模式 / [a-z _] [a-z0-9 _] * / i 作为 @hjpotter 建议)。

对于您的情况,您必须在从值创建新变量之前添加一些前缀,因为您的值是无效的变量名称,请参阅以下代码:

my_var

答案 1 :(得分:1)

没有。如果您尝试为数字指定值,则无效。变量名称​​必须

  • 以字母作为下划线开头,如:

    _varname 
    varname
    
  • 数字可能存在于变量名称的其余部分中,如:

    _varname1
    varname1
    

作为旁注,变量也区分大小写。因此varnameVarname是两个不同的变量。

可以在此(非特定于python)question中找到更多细节,了解变量不能以数字开头的原因。