是否有可能(例如内置函数)在 python 中将字符串转换为 char?例如,如果我给变量赋值
p1=100
然后有字符串
"p1",
是否可以将 p1 的值赋给一个新的变量 t 比如
t=char("p1")
这样我就得到
print(t)->100 ?
显然,上述解决方案不起作用,因为它会抛出以下错误消息:
NameError: name 'char' is not defined
编辑:问题不在于最佳实践:我知道我应该用字典来做这件事,但我想做的是理解 Python 中的数据类型以及如何转换它们。例如,将字符串转换为整数相当容易,所以我想知道这是否同样适用于字符串到字符的转换。 eval() 命令确实解决了示例的问题,但没有回答上述问题。所以我会把目标编辑成
char("p11")=20
哪个应该给我
print(p11) -> 20
原文由 Paul Rousseau 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可能正在寻找
eval()
: https ://docs.python.org/3.5/library/functions.html#eval如果你想评估表达式,你也可以使用
exec()
但是正如其他人已经指出的那样,您应该尽可能避免使用它。 timgeb 提供了一个不错的选择,例如字典。
如果你想把一个字符串变成一个 全局 变量,你也可以这样做:
注意:当您在全局范围内(函数外)运行代码时,您还可以使用
locals()['y'] = 5
- 但这 在非全局范围内不起作用!