%和,在一个字符串中有什么区别?

时间:2011-04-18 06:34:35

标签: python python-3.x

我在Python中使用String并需要更新它

line = ''
byte_data = 0

这两种语法之间有什么区别(他们做了什么):

line += "%c" % byte_data

line += "%c", byte_data

2 个答案:

答案 0 :(得分:6)

adds \x00字符串,后者results in a TypeError

答案 1 :(得分:3)

区别在于一个有效,一个没有。

>>> line = ''
>>> byte_data = 0
>>> line += "%c" % byte_data
>>> line
'\x00'
>>> line += "%c", byte_data

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    line += "%c", byte_data
TypeError: cannot concatenate 'str' and 'tuple' objects
>>> 

我不太确定你在哪里看到用来填充字符串的逗号,但不幸的是,这会导致TypeError。