Python - 之后的空白

Mat*_*ert 4 python whitespace python-3.x

当我在Python 3中打印这样的东西时,为什么会输出一个空格?(它在'\n'角色本身吗?)

print (my_var1, '\n', my_var_2)
Run Code Online (Sandbox Code Playgroud)

输出:

1
 2
Run Code Online (Sandbox Code Playgroud)

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

che*_*ner 8

printsep每个参数后添加一个空格(或关键字参数的值),包括`\n'.您可能希望自己将三个字符串组合成一个参数.

print(my_var1 + '\n' + my_var2)
Run Code Online (Sandbox Code Playgroud)

要么

print('\n'.join([my_var1, my_var2]))
Run Code Online (Sandbox Code Playgroud)

比任何一个都更好的是使用format字符串方法:

print('{}\n{}'.format(my_var1, my_var2))
Run Code Online (Sandbox Code Playgroud)

str如果需要,它们都处理转换并消除任何临时对象.

不过,我更愿意sep接受\n@ billy的回答.


Bil*_*lly 5

当函数中有多个位置参数时print,它会在str这些参数sep之间写入字符串的形式- 在默认情况下是一个空格(' ').有两种方法可以在两个单独的行上打印两个变量.

print(my_var1)
print(my_var2)
Run Code Online (Sandbox Code Playgroud)

要么

for var in (my_var1, my_var2):
    print(var)
Run Code Online (Sandbox Code Playgroud)

要么

print(my_var1, my_var2, sep='\n')
Run Code Online (Sandbox Code Playgroud)

或者这里有无数的其他例子.