如何创建名字是变量的变量?

原始链接:https://stackoverflow.com/questions/1373164/how-do-i-create-variable-variables

问题描述

其他一些语言(例如 PHP)支持“可变变量名”的概念 – 即字符串的内容可以用作变量名的一部分。例如,在php中,可以使用变量做变量名

$name = "张三"
$var_name = "name"
echo $$var_name   # = $name

那么在 Python 中可以做这样的事情吗?

问题解答

使用字典

可以使用字典来实现这一点。字典是键和值的存储。

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

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

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

使用函数getattr

使用python内置的getattr 函数

obj.spam = 'eggs'
name = 'spam'
getattr(obj, name)  # returns 'eggs'

使用globals()

>>> a = 10
>>> globals()['a']
10

0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x