为什么在Python 3中打印出这样的内容时会输出空格?
(它是'\n'
字符本身吗?)
print (my_var1, '\n', my_var_2)
输出:
1
2
我知道如何修复它。它并不复杂,但我只是想知道为什么......
答案 0 :(得分:8)
print
在每个参数后添加一个空格(或sep
关键字参数的值),包括`\ n'。您可能希望自己将三个字符串合并为一个参数。
print(my_var1 + '\n' + my_var2)
或
print('\n'.join([my_var1, my_var2]))
比任何一种都更好的方法是使用format
字符串方法:
print('{}\n{}'.format(my_var1, my_var2))
如果需要,它们都会处理转换为str
并删除任何临时对象。
我希望将sep
设置为\n
,就像@ billy的回答一样。
答案 1 :(得分:5)
如果print
函数中有多个位置参数,它会在这些参数之间写入str
形式的sep
字符串 - 在默认情况下是一个空格( ' '
)。有两种方法可以在两个不同的行上打印两个变量。
print(my_var1)
print(my_var2)
或
for var in (my_var1, my_var2):
print(var)
或
print(my_var1, my_var2, sep='\n')
或这里的无数其他例子。
答案 2 :(得分:0)
使用多行注释和 f-string
my_var1, my_var_2 = 1,2
print (f"""{my_var1}
{my_var_2}""")
给予
1
2
[Program finished]
虽然我个人最喜欢的是
my_var1, my_var_2 = 1,2
varlist = [my_var1, my_var_2]
for var in (varlist):
print(var)
简单的 bcos 你可以有 n 个变量,你可以把它们放在列表中,然后使用循环打印