Этот код сейчас преподается во многих программах обучения и подготовки на Python.
Обычно учат вместе:
from __future__ import print_function
if hasattr(__builtins__, 'raw_input'):
input = raw_input
Первая строка: импортирует функцию Python 3.x print()
в Python 2.7, поэтому print()
ведет себя одинаково в обеих версиях Python. Если это нарушает ваш код из-за более старых вызовов print "some content"
, вы можете оставить эту строку отключенной.
Вторая и третья строки: устанавливает Python 2.7 raw_input()
на input()
, поэтому input()
может использоваться в обеих версиях Python без проблем. Это может быть использовано само по себе, если это единственное исправление совместимости, которое вы хотите включить в свой код.
На сайте Python.org доступно больше from __future__
импорта для решения проблем совместимости с другими языками. Существует также библиотека под названием «шесть», в которой можно найти решения для обеспечения совместимости при решении других вопросов.