我有以下代码可以正常使用。
a = 5
b = "%"
print "Hello %d \%s" % (a ,b)
输出:
$ python a.py
Hello 5 \%
但如果我尝试以这种方式编写代码
a = 5
print "Hello %d \%" % a
它给出错误,似乎转义序列不适用于'%'
File "a.py", line 2, in <module>
print "Hello %d \%" % a
ValueError: incomplete format
为了更加适应,它可以在第二个程序中输入'%'字符。
答案 0 :(得分:3)
答案 1 :(得分:3)
使用new-style string formatting:
print "Hello {} %".format(a)
这种字符串格式化方法是Python 3中的新标准,应该优先于新代码中的
%
格式。
或双%
:
print "Hello %d %%" % a
答案 2 :(得分:0)
使用字符串格式("some %s" % ('string')
)时,必须转义%
字符。要做到这一点,只需使用%%
。
如果您没有格式化字符串,则不必这样做。
有关字符串格式的信息,请参阅this guide。