Python - 之后的空白

时间:2017-06-12 12:17:27

标签: python python-3.x whitespace

为什么在Python 3中打印出这样的内容时会输出空格? (它是'\n'字符本身吗?)

print (my_var1, '\n', my_var_2)

输出:

1
 2

我知道如何修复它。它并不复杂,但我只是想知道为什么......

3 个答案:

答案 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 个变量,你可以把它们放在列表中,然后使用循环打印