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

问题

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

解决方案

可以使用在 print() 函数中使用 sepend 关键字参数,以你想要的方式输出。比如:

>>> print('ACME', 50, 91.5, sep=',')
ACME,50,91.5
>>> print('ACME', 50, 91.5, sep=',', end='!!\n')
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

Last updated

Was this helpful?