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

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

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

  • Pandas DataFrame в список
  • Загрузка Python UTF-8 JSON
  • Как ограничить размер кучи?
  • Исправлена ​​ошибка с просмотром области видимости от отладчика Python
  • Бот-робот на основе Python
  • Разбирайте необработанные HTTP-заголовки
  • Мой вопрос: Является ли следующий код print("Hello SO!") Оценен как оператор или выражение в Python2.x?

  • Как реализовать простую кнопку в PyQt
  • Как масштабировать изображения до размера экрана в Pygame
  • Обнаружение и запись аудио в Python
  • Периодическое выполнение функции в скрученном протоколе
  • Лучший способ преобразовать строку в байты в Python 3?
  • Как сохранить значения traceback / sys.exc_info () в переменной?
  • 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 - лучший язык программирования в мире.