我正在教自己如何用Python编程,我有一个关于“打印”的问题。
我知道print语句中嵌入了换行符“\ n”,但我注意到每当我的代码以print语句结束时,例如print(“这就是结束”),它就不会创建换行。
Python的一个特性是, last 打印语句的换行被抑制了吗?
P.S。我正在使用IDLE
答案 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>>>