Python中print命令的换行符功能

时间:2016-08-11 21:22:02

标签: python

我正在教自己如何用Python编程,我有一个关于“打印”的问题。

我知道print语句中嵌入了换行符“\ n”,但我注意到每当我的代码以print语句结束时,例如print(“这就是结束”),它就不会创建换行。

Python的一个特性是, last 打印语句的换行被抑制了吗?

P.S。我正在使用IDLE

2 个答案:

答案 0 :(得分:4)

不,Python没有这样的功能。你可能会感到困惑"没有打印换行符"用"不以空格结尾"。

例如,在bash中,它可能如下所示:

$ cat endline.py
print('line 1')
print('line 2')
$ cat noendline.py
print('line 1')
print('line 2', end='')
$ python3 endline.py
line 1
line 2
$ python3 noendline.py
line 1
line 2$ echo "It did not end in a newline"
It did not end in a newline
$

注意noendline.py如何退出而没有任何换行符,并立即继续提示。

这也适用于现场翻译:

>>> print('Hello world!')
Hello world!
>>> print('Hello world!', end='')
Hello world!>>> # See?

Windows(cmd)始终使用换行符附加程序的结尾:

C:\> python endline.py
line 1
line 2

C:\> python noendline.py
line 1
line 2
C:\> 

答案 1 :(得分:0)

在python中,default添加\n。您可以在 Python 3 中使用以下内容(输出从sublime 3复制以演示换行符)指定要连接到print语句末尾的结束参数:

print('Hello World', end='Arg goes here.') 

<强>输出:

Hello WorldArg goes here.[Finished in 0.0s] # Notice no newline.

另外,如果没有值传递给关键字参数\n,则end是默认值。

print('Hello World')

<强>输出:

Hello World
[Finished in 0.0s]  # Newline by default.

python 2 中的情况略有不同,因为print不是函数(\n 是默认),但您可以模拟此行为通过以下方式:

from __future__ import print_function
print('Hello World', end='\n')

<强>输出:

Hello World
[Finished in 0.0s]  # Newline specified.

以下是在终端中运行以演示的交互式shell中的一些示例。

在shell(Python 2)中:

>>> from __future__ import print_function
>>> print('Hello World', end='\n')
Hello World
>>> print('Hello World', end='\n\n')
Hello World

>>> print('Hello World', end='')
Hello World>>>