小编典典

如何创建变量变量?

all

如何在 Python 中完成变量变量?

这是一个详尽的手册条目,例如:
变量变量

我听说这通常是个坏主意,而且它是 PHP 中的一个安全漏洞。真的吗?


阅读 106

收藏
2022-03-14

共1个答案

小编典典

您可以使用字典来完成此操作。字典是键和值的存储。

>>> dct = {'x': 1, 'y': 2, 'z': 3}
>>> dct
{'y': 2, 'x': 1, 'z': 3}
>>> dct["y"]
2

您可以使用变量键名来实现变量变量的效果,而不会有安全风险。

>>> x = "spam"
>>> z = {x: "eggs"}
>>> z["spam"]
'eggs'

对于您正在考虑做类似的事情的情况

var1 = 'foo'
var2 = 'bar'
var3 = 'baz'
...

列表可能比字典更合适。列表表示对象的有序序列,具有整数索引:

lst = ['foo', 'bar', 'baz']
print(lst[1])           # prints bar, because indices start at 0
lst.append('potatoes')  # lst is now ['foo', 'bar', 'baz', 'potatoes']

对于有序序列,列表比带有整数键的 dict更方便,因为列表支持索引顺序的迭代、切片append以及其他需要使用 dict 进行笨拙的键管理的操作。

2022-03-14