Найти - Пользователи
Полная версия: 2 vs 3
Начало » Python для новичков » 2 vs 3
1 2
privet99
Приступил к изучению чудесного языка Python.
Возник вопрос: следует ли сначала изучить версию 2, а потом перейти на 3; или версия 2 устарела и лучше сразу начинать с версии 3.

Правда ли что для версии 3 не существует утилит для получения exeфайла (py2exe), утилиты IPython ?

Совместим ли API различных версий phyton для использования его в программах, написанных на других языках (например С или дельфи).
AlexAled
Если изучать на будущее и just for fun то можно начинать с 3, если для практического применения то лучше со 2, т.к. большинство библиотек написаны именно для 2 ветки
Андрей Светлов
Нового релиза python 2 не планируется. Т.е. python 2.8 - не будет.

Многих библиотек для тройки нет, но портирование идет полным ходом.

py2exe не портирован (никому не нужно? Написать ведь легко…)
ipython - есть в отдельной ветке, сделают и официальный.

API несколько отличается, но кардинальных изменений нет.
bw
> но кардинальных изменений нет
Наверное самые большие неприятности могут возникнуть со “списками”, которые стали “итераторами” и со строками.
>>> {1: 1}.keys()[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object does not support indexing

>>> filter(None, [1])[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'filter' object is not subscriptable

>>> unicode({})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'unicode' is not defined
p.s. Я сейчас пытаюсь что-то делать на Python3, ну ничего нет из того что я планировал использовать, Genshi, Werkzeug и т.д.

..bw
regall
bw
p.s. Я сейчас пытаюсь что-то делать на Python3, ну ничего нет из того что я планировал использовать, Genshi, Werkzeug и т.д.
Werkzeug работает на базе WSGI, а WSGI-стандарта для тройки пока нет и вообще как-то очень туго с его подготовкой. Если уж под веб писать на тройке, - можно взять Tornado. Он не завязан на WSGI.
Андрей Светлов
PEP 3333 принят в Python 3.2 как паллиатив.
PEP 444 на стадии разработки
regall
Андрей Светлов
PEP 3333 принят в Python 3.2 как паллиатив.
PEP 444 на стадии разработки
Вот-вот, и так уже полгода =(
А хотелось бы побыстрее… Плюс стандарт-стандартом, а когда разработчики начнут фреймворки подтягивать, гляди еще полгода пролетит. Пока вижу заинтересованость в тройке только тех, кто не занимается вебом, веб-разработчики почему-то и так двольны.
Андрей Светлов
Где-то мелькало, что Джангу летом хотят попробовать перевести.
3333 - уже хорошо. Это WSGI 333, адаптированный к python 3.
444 довольно сильно отличается. Тот факт, что его разработка идет медленно - не удивляет.
К тому же на момент выпуска 3.1 разработчиков в основном заботили баги и скорость самой поделки.
И только в последний год начали смотреть на web - поправки в urllib, email и так далее.

Python 3 постепенно приближается к покрытию всех задач, решаемых python 2.
Читал блог Брета Кэнона? Где он писал, что предполагаемое время миграции - 5 лет. И на данное время график выполняется даже с некоторым опережением.
regall
Андрей Светлов
Python 3 постепенно приближается к покрытию всех задач, решаемых python 2.
Читал блог Брета Кэнона? Где он писал, что предполагаемое время миграции - 5 лет. И на данное время график выполняется даже с некоторым опережением.
Да, он мне еще запомнился, т.к. по фотке в гуглопрофиле похож на спецназовца из сериала “Чак” =). Ну да не о нем.
Я отвечал на пост bw, о том как обстоит сейчас, имея в виду, что не стоит спешить с вебом на тройке, но по временным рамкам полностью согласен (еще надо учитывать то, что еще какое-то время будет шлифоваться нестабильный код и будут фиксится баги).

По этому поводу у меня такое впечатление, что мы говорим об одном и том же, но у нас разное понятие “долго” =).
Андрей Светлов
Мне Брет запомнился иначе.
Когда я на конференции хотел задать вопросы, меня отослали к нему.
Сказали: найди самого высокого человека - это Кэнон и есть :)

Подсказчик был низеньким латиноамериканцем с отчетливой примесью азиатской крови - для него большая часть людей были между “высокий” и “очень высокий”.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB