Skip to main content
 首页 » 编程设计

Python:获取变量的名称

2025年05月04日12txw1958

我声明一个变量,比如:

var=33 

我想将字符串'var'赋值给另一个变量,即如何获取变量值的符号名称。

我该怎么做?


我重新表述问题。

WHITE=0 
RED=1 
BLACK=2 

X=2。

我想将值“BLACK”分配给一个变量,例如 Y,同时考虑到 X=2。

很难准确地提出这个问题。

我想避免这样的代码:

color='' 
if X==0: 
     color='WHITE' 
elif X==1: 
etc. 

是否可以将颜色变量的名称作为字符串获取?

请您参考如下方法:

I want to assign to another variable the string 'var', that is , how to get the symbol's name of a variable.

不,你不想那样做。使用字典:

mydata = {} 
varname = 'var' 
mydata[varname] = 33 

从技术上讲,您可以使用 globals() 或 locals() 中的 dict 来存储它,它可以作为“真正的变量”,但实际上,没有充分的理由这样做,这会使您的代码更难理解。

避开你给的代码的方法:

color='' 
if X==0: 
     color='WHITE' 
elif X==1: 
etc. 

与:

COLORS = ('WHITE', 'RED', 'BLACK') 
x = 2 
try: 
    color = COLORS[x] 
except IndexError: 
    color = 'DEFAULT COLOR' 

这消除了连续的 if 和扩展 COLORS 之外的维护。你也可以这样做:

COLORS = {0: 'WHITE', 1: 'RED', 2: 'BLACK'} 
x = 2 
color = COLORS.get(x, 'DEFAULT COLOR') 

但这也需要手动管理索引(键)。