我是python的新手,我正在尝试制作一个程序。我需要将一个字符串转换为一个接受其他字符串的变量。
exec('%s = %d' % ("newVar", 87))
这适用于整数但是对于字符串有没有这样的格式字符串?或者有不同的方法吗?
提前致谢!
答案 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所指出的,字典是一种更好的方法。