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)
我知道如何解决它.它并不复杂,但我只是想知道为什么......
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的回答.
当函数中有多个位置参数时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)
或者这里有无数的其他例子.