Форум сайта python.su
Приступил к изучению чудесного языка Python.
Возник вопрос: следует ли сначала изучить версию 2, а потом перейти на 3; или версия 2 устарела и лучше сразу начинать с версии 3.
Правда ли что для версии 3 не существует утилит для получения exeфайла (py2exe), утилиты IPython ?
Совместим ли API различных версий phyton для использования его в программах, написанных на других языках (например С или дельфи).
Офлайн
Если изучать на будущее и just for fun то можно начинать с 3, если для практического применения то лучше со 2, т.к. большинство библиотек написаны именно для 2 ветки
Офлайн
Нового релиза python 2 не планируется. Т.е. python 2.8 - не будет.
Многих библиотек для тройки нет, но портирование идет полным ходом.
py2exe не портирован (никому не нужно? Написать ведь легко…)
ipython - есть в отдельной ветке, сделают и официальный.
API несколько отличается, но кардинальных изменений нет.
Офлайн
> но кардинальных изменений нет
Наверное самые большие неприятности могут возникнуть со “списками”, которые стали “итераторами” и со строками.
>>> {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
Отредактировано (Фев. 3, 2011 21:11:48)
Офлайн
bwWerkzeug работает на базе WSGI, а WSGI-стандарта для тройки пока нет и вообще как-то очень туго с его подготовкой. Если уж под веб писать на тройке, - можно взять Tornado. Он не завязан на WSGI.
p.s. Я сейчас пытаюсь что-то делать на Python3, ну ничего нет из того что я планировал использовать, Genshi, Werkzeug и т.д.
Офлайн
PEP 3333 принят в Python 3.2 как паллиатив.
PEP 444 на стадии разработки
Офлайн
Андрей СветловВот-вот, и так уже полгода =(
PEP 3333 принят в Python 3.2 как паллиатив.
PEP 444 на стадии разработки
Отредактировано (Фев. 3, 2011 22:05:35)
Офлайн
Где-то мелькало, что Джангу летом хотят попробовать перевести.
3333 - уже хорошо. Это WSGI 333, адаптированный к python 3.
444 довольно сильно отличается. Тот факт, что его разработка идет медленно - не удивляет.
К тому же на момент выпуска 3.1 разработчиков в основном заботили баги и скорость самой поделки.
И только в последний год начали смотреть на web - поправки в urllib, email и так далее.
Python 3 постепенно приближается к покрытию всех задач, решаемых python 2.
Читал блог Брета Кэнона? Где он писал, что предполагаемое время миграции - 5 лет. И на данное время график выполняется даже с некоторым опережением.
Офлайн
Андрей СветловДа, он мне еще запомнился, т.к. по фотке в гуглопрофиле похож на спецназовца из сериала “Чак” =). Ну да не о нем.
Python 3 постепенно приближается к покрытию всех задач, решаемых python 2.
Читал блог Брета Кэнона? Где он писал, что предполагаемое время миграции - 5 лет. И на данное время график выполняется даже с некоторым опережением.
Офлайн
Мне Брет запомнился иначе.
Когда я на конференции хотел задать вопросы, меня отослали к нему.
Сказали: найди самого высокого человека - это Кэнон и есть :)
Подсказчик был низеньким латиноамериканцем с отчетливой примесью азиатской крови - для него большая часть людей были между “высокий” и “очень высокий”.
Офлайн