包含字符串的变量的字符串 - Python

时间:2015-09-22 11:48:19

标签: python-3.x

我是python的新手,我正在尝试制作一个程序。我需要将一个字符串转换为一个接受其他字符串的变量。

exec('%s = %d' % ("newVar", 87))

这适用于整数但是对于字符串有没有这样的格式字符串?或者有不同的方法吗?

提前致谢!

2 个答案:

答案 0 :(得分:2)

使用字典。

d = {}
d["newVar"] = 87
d["foo"] = "Hello world!"
print(d["foo"])

答案 1 :(得分:1)

我认为您实际需要的是%r说明符,它适用于整数和字符串:

>>> exec('%s = %r' % ('var1', 2))
>>> exec('%s = %r' % ('var2', 'foo'))
>>> var1
2
>>> var2
'foo'

这使用参数的repr表示,而不是s tring或d ecimal版本:

>>> '%s = %r' % ('var1', 2)
'var1 = 2'
>>> '%s = %r' % ('var2', 'foo')
"var2 = 'foo'"

您可以在the documentation中了解有关各种说明符的更多信息。

然而,像这样做"变量" 很少是适当的事情 - 正如Kevin's answer所指出的,字典是一种更好的方法。