小能豆

使用字符串变量作为变量名

javascript

我有一个分配了字符串的变量,并且我想基于该字符串定义一个新变量。

foo = "bar"
foo = "something else"   
# What I actually want is:    
bar = "something else"

阅读 57

收藏
2024-07-10

共1个答案

小能豆

要基于字符串定义一个新变量,你可以使用 globals() 函数来在全局命名空间中动态创建变量。不过,这种做法不太推荐,因为它会导致代码难以阅读和维护。通常,使用字典来存储动态键值对会更好。

以下是使用 globals() 的方法:

foo = "bar"
globals()[foo] = "something else"

# 现在,bar 变量被定义了
print(bar)  # 输出: something else

或者,你可以使用字典来实现,这样更安全、可维护:

variables = {}
foo = "bar"
variables[foo] = "something else"

# 访问值
print(variables["bar"])  # 输出: something else

使用字典可以动态设置和访问变量,而不会污染全局或局部命名空间,这样可以保持代码的清晰和可理解性。

2024-07-10