Подтвердить что ты не робот

Python - что НЕ в 2.7, что IS в 3.1? Так много вещей было перенесено, что НЕ?

Я слежу за сагой Python 3.x и наблюдал, как функции 3.x постепенно возвращаются к линии 2.x.

Большинство библиотек, которые я использую, не были перенесены, а некоторые (например, Twisted) кажутся скрытно или открыто враждебными к 3.x в разной степени. Во всяком случае, было очень мало движения к совместимым версиям многих из них. Особенно большие.

Итак, мой вопрос заключается в том, что все функции, которые были предоставлены в обратном порядке, все еще доступны в 3.x, которые НЕ были возвращены обратно? Очень легко найти то, что было обращено, но не то, что осталось.

Прямо сейчас, портирование на 3.x просто похоже на всю боль, и я не вижу прироста; возможно, список "Только в 3.x" позволит мне увидеть свет...

Спасибо,

Stu

4b9b3361

Ответ 1

Самое главное - это, вероятно, unicode. Поэтому больше не нужно болтаться со str/unicode. Это звучит мало, но имеет огромные (положительные) последствия, когда вы думаете об взаимодействии с ОС - например, каждый должен стараться дать вам "пригодные для использования" строки вместо "двоичной вещи, которая может быть сообщением об ошибке".

В самом интерпретаторе также появилось много материала, которое было улучшено. Одним из примеров является глобальная блокировка интерпретатора (GIL), которая не исчезла, но лучше в py3k: презентация + слайды

Ответ 2

Скорость может быть особенно полезной.

Утверждения о скорости проекта "Незагруженная ласточка" были одобрены для объединения в Python. Но насколько я знаю только Python 3. Подробнее см. PEP 3146.