Использование print () в Python2.x

Я понимаю разницу между выражением и выражением, и я понимаю, что Python3 превратил print () в функцию.

Однако я запускал инструкцию print (), окруженную скобками, на разных интерпретаторах Python2.x, и она выполнялась безупречно, мне даже не пришлось импортировать какой-либо модуль.

Мой вопрос: Является ли следующий код print("Hello SO!") Оценен как оператор или выражение в Python2.x?

  • Как печатать номер с запятыми в качестве разделителей тысяч?
  • Как проверить, является ли переменная строкой с совместимостью с python 2 и 3
  • Конец поддержки для python 2.7?
  • Определите, имеют ли 2 списка одни и те же элементы независимо от порядка?
  • Почему Python печатает символы Unicode, когда кодировка по умолчанию - ASCII?
  • Как вы используете subprocess.check_output () в Python?
  • Как организовать модули Python для PyPI для поддержки 2.x и 3.x
  • Как написать Python 2.x как можно более совместимым с Python 3.x?
  • 3 Solutions collect form web for “Использование print () в Python2.x”

    Рассмотрим следующие выражения:

     a = ("Hello SO!") a = "Hello SO!" 

    Они эквивалентны. Точно так же, с утверждением:

     statement_keyword("foo") statement_keyword "foo" 

    также эквивалентны.

    Обратите внимание, что если вы измените функцию печати на:

     print("Hello","SO!") 

    Вы заметите разницу между python 2 и python 3. С помощью python 2 (...,...) интерпретируется как кортеж, так как print – это оператор, тогда как в python 3 это вызов функции с несколькими аргументами.

    Поэтому, чтобы ответить на поставленный вопрос, print оценивается как оператор в python 2.x, если вы не from __future__ import print_function (введенный в python 2.6)

    print("Hello SO!") оценивается как выражение print ("Hello SO!") , где аргументом для оператора print является выражение ("Hello SO!") .

    Это может иметь значение, если вы печатаете несколько значений; например, print("Hello", "world") будет печатать двухэлементный кортеж ('Hello', 'world') вместо двух строк "Hello" и "world" .

    Для совместимости с Python 3 используйте from __future__ import print_function :

     >>> print("Hello", "world") ('Hello', 'world') >>> from __future__ import print_function >>> print("Hello", "world") Hello world 

    Он по-прежнему оценивается как оператор, вы просто печатаете ("Hello SO!") , Который просто оценивает "Hello SO!" так как это не кортеж (как упоминалось дельнаном).

    Python - лучший язык программирования в мире.