5.3 使用其他分隔符或行终止符打�¶

问题¶

你想使用 print() 函数输出数�,但是想改�默认的分隔符或者行尾符。

解决方案¶

�以使用在 print() 函数中使用 sep 和 end 关键字�数,以你想�的方�输出。比如:

>>> print('ACME', 50, 91.5)
ACME 50 91.5
>>> print('ACME', 50, 91.5, sep=',')
ACME,50,91.5
>>> print('ACME', 50, 91.5, sep=',', end='!!\n')
ACME,50,91.5!!
>>>

使用 end �数也�以在输出中�止�行。比如:

>>> for i in range(5):
...     print(i)
...
0
1
2
3
4
>>> for i in range(5):
...     print(i, end=' ')
...
0 1 2 3 4 >>>

讨论¶

当你想使用�空格分隔符�输出数�的时候,给 print() 函数传递一个 sep �数是最简�的方案。 有时候你会看到一些程�员会使用 str.join() �完��样的事情。比如:

>>> print(','.join(('ACME','50','91.5')))
ACME,50,91.5
>>>

str.join() 的问题在于它仅仅适用于字符串。这�味�你通常需�执行�外一些转��能让它正常工作。比如:

>>> row = ('ACME', 50, 91.5)
>>> print(','.join(row))
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
TypeError: sequence item 1: expected str instance, int found
>>> print(','.join(str(x) for x in row))
ACME,50,91.5
>>>

你当然�以�用那么麻烦,�需��下�这样写:

>>> print(*row, sep=',')
ACME,50,91.5
>>>