Почему Python 3 не поддерживает обратную совместимость?

Я узнал, что Python 3 не поддерживает обратную совместимость.

Не повлияет ли это на множество приложений с использованием более старых версий Python?

Как разработчики Python 3 не думали, что абсолютно необходимо сделать его обратно совместимым?

  • Оператор печати Python «Синтаксическая ошибка: недопустимый синтаксис»
  • Запоминание, когда аргументы могут быть очень большими
  • Как перебирать символы Unicode в Python 3?
  • python3.3 matplotlib не может импортировать имя _tkagg
  • Изменение цвета нескольких кнопок tkinter
  • python - Ошибка обработки файлов Steganographer для файлов без текста
  • Почему такое понимание списков происходит быстрее?
  • проблемы с numpy genfromtxt в Python3
  • One Solution collect form web for “Почему Python 3 не поддерживает обратную совместимость?”

    Является ли Python 3.0 обратной совместимостью и почему?

    Python 3.0 реализует множество очень полезных функций и нарушает обратную совместимость. Он делает это нарочно, поэтому отличные функции могут быть реализованы даже несмотря на то, что код Python 2.x может работать неправильно под Python 3.x.

    Итак, в принципе, Python 3.0 не имеет обратной совместимости . Благодаря этому вы можете воспользоваться совершенно новым набором функций. Он даже называется « Python 3000 » или « Python 3K ».

    Из « Что нового в Python 3.0 » (доступно здесь ):

    Python 3.0, по сравнению с 2.6. Python 3.0, также известный как «Python 3000» или «Py3K», является первым, когда-либо преднамеренно отсталым, несовместимым выпуском Python . Есть больше изменений, чем в типичном выпуске, и многое другое, что важно для всех пользователей Python. Тем не менее, после переваривания изменений вы обнаружите, что Python действительно не изменил все это – по большому счету, мы в основном фиксируем известные досады и бородавки и удаляем много старого рывка .

    Python имеет новые версии 3.0, отменяющие обратную совместимость

    Некоторые из наиболее заметных функций, которые могут считаться нарушением обратной совместимости, но одновременно улучшающие язык, заключаются в следующем:

    • print теперь является функцией, а не оператором, и использование ее в качестве оператора приведет к ошибке,
    • различные функции и методы теперь возвращают итератор или представление вместо списка, что делает итерацию их результатов более эффективной с точки зрения памяти (вам не нужно хранить весь список результатов в памяти),
    • аргумент cmp для сортировки функций, таких как list.sort() sorted() и list.sort() , больше не поддерживается и должен быть заменен key аргументом,
    • int теперь совпадает с длиной Python 2.x, что делает обработку номера менее сложной,
    • / operator теперь является оператором для истинного деления по умолчанию (вы все равно можете использовать // для разделения полов),
    • текст в Python 3.x теперь Unicode по умолчанию,
    • True , False и None теперь зарезервированы слова (так что вы не можете делать True, False = False, True ,
    • изменение использования метакласса,
    • исключения должны быть получены из BaseException , должны быть подняты и пойманы иначе, чем в Python 2.x,
    • и намного больше других изменений, делая Python более читабельным, последовательным и явным,
    Python - лучший язык программирования в мире.