本文主要介绍在 Python2 与 Python3 下 print 实现不换行的效果。

Python 3.x

在 Python 3.x 中,我们可以在 print() 函数中添加 end="" 参数,这样就可以实现不换行效果。

在 Python3 中, print 函数的参数 end 默认值为 "\n",即end="\n",表示换行,给 end 赋值为空, 即end="",就不会换行了,例如:

Python3.x 实例

print('这是字符串,', end="")
print('这里的字符串不会另起一行')

执行以上代码,输出结果为:

这是字符串,这里的字符串不会另起一行

end="" 可以设置一些特色符号或字符串:

实例

print('12345', end=" ")  # 设置空格
print('6789')

print('admin', end="@")  # 设置符号
print('runoob.com')

print('Google ', end="Runoob ")  # 设置字符串
print('Taobao')

执行以上代码,输出结果为:

12345 6789
admin@runoob.com
Google Runoob Taobao

Python 2.x

在 Python 2.x中, 可以使用逗号 , 来实现不换行效果:

Python2.x 实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

print "这是字符串,",         # 末尾添加逗号
print "这里的字符串不会另起一行"

# print 带括号
print ("这是字符串,"),        # 末尾添加逗号
print ("这里的字符串不会另起一行")

执行以上代码,输出结果为:

这是字符串, 这里的字符串不会另起一行
这是字符串, 这里的字符串不会另起一行

如果有变量,我们可以在逗号 , 后面直接添加变量:

Python2.x 实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

x= 2
print "数字为:", x

执行以上代码,输出结果为:

字为: 2

注意:这种输出方法,在 , 末尾会有一个空格输出,类似于使用了 Python 3 的 end=" "

Python2.x 与 Python3.x 兼容模式

如果 Python2.x 版本想使用 Python3.x 的 print 函数,可以导入 __future__ 包,该包禁用 Python2.x 的 print 语句,采用 Python3.x 的 print 函数。

以下代码在 Python2.x 与 Python3.x 都能正确执行:

Python2.x 实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from __future__ import print_function

print('12345', end=" ")  # 设置空格
print('6789')

print('admin', end="@")  # 设置符号
print('runoob.com')

print('Google ', end="Runoob ")  # 设置字符串
print('Taobao')

注:Python3.x 与 Python2.x 的许多兼容性设计的功能可以通过 __future__ 这个包来导入。