В этой статье в основном описывается, как добиться эффекта отсутствия перевода строки с помощью print в Python2 и Python3.

Python 3.x

В Python 3.x мы можем добавить в функциюprint()параметрend="", тем самым достигнув эффекта отсутствия перевода строки.

В Python3 параметр функции printendзначение по умолчанию —"\n", i.e.end="\n", что означает перевод строки. Задайтеendпустое значение, т.е.end="", и переноса строки не будет. Например:

Пример Python3.x

print('This is a string,', end="")
print('The string here will not start a new line')

При выполнении приведённого выше кода вывод будет следующим:

This is a string; the string here will not start on a new line.

end=""Можно задать некоторые специальные символы или строки:

Пример

print('12345', end=" ")  # Установить пробел
print('6789')

print('admin', end="@")  # Установить символ
print('example.com')

print('Google ', end="Example ")  # Установить строку
print('Taobao')

При выполнении приведённого выше кода вывод будет следующим:

12345 6789
[email protected]
Google Example Taobao

Python 2.x

В Python 2.x можно использовать запятую,,чтобы добиться эффекта отсутствия переноса строки:

Пример Python2.x

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

print "This is a string,",         # Добавить запятую в конце
print "The string here will not start a new line"

# print с круглыми скобками
print ("This is a string,"),        # Добавить запятую в конце
print ("The string here will not start a new line")

При выполнении приведённого выше кода вывод будет следующим:

This is a string; the string here will not start on a new line.

Если есть переменная, мы можем после запятой,сразу добавить переменную:

Пример Python2.x

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

x= 2
print "Число:", x

При выполнении приведённого выше кода вывод будет следующим:

字为: 2

Примечание:Этот способ вывода в,конце выведет пробел, подобно использованию в Python 3end=" "。

Режим совместимости Python2.x и Python3.x

Если версия Python2.x хочет использовать функциюprintиз Python3.x, можно импортировать__future__пакет, который отключает оператор print в Python2.x и перенимаетprint из Python3.xфункцию.

Следующий код корректно работает как в 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('example.com')

print('Google ', end="Example ")  # Установить строку
print('Taobao')

Примечание:Многие возможности совместимости, предназначенные для Python3.x и Python2.x, можно импортировать через этот пакет__future__.