Вопрос

Недавно я решил расширить свой кругозор в программировании и выучить язык программирования python.Хотя я немного использовал python для занятий в колледже и для одного-двух проектов на работе, я ни в коем случае не эксперт.Мой вопрос заключается в следующем:должен ли я беспокоиться о версиях 2.x или мне следует сразу перейти к версии 3.0?Я склоняюсь к версии 3.0, поскольку буду программировать приложения больше для личного / учебного использования, но я хотел посмотреть, есть ли какие-либо веские аргументы против этого, прежде чем я начну.

Это было полезно?

Решение

Абсолютно нет 3.0 - 3.1 отсутствует и стабильнее, лучше, быстрее во всех отношениях; в настоящее время нет абсолютно никакого смысла начинать с версии 3.0, если вы хотите использовать 3 серии, она должна быть на всех учетных записях 3.1.

Что касается 2.6 против 3.1, 3.1 - лучший язык (особенно потому, что была удалена некоторая фракция, которая накопилась за эти годы, но должна оставаться в 2. * для обратной совместимости), но все остальное в экосистеме (от расширений до инструменты, от книг до коллективных знаний) по-прежнему в значительной степени в пользу 2,6 - если вам не нужно, чтобы иметь возможность использовать (например) определенные графические интерфейсы или научные расширения, разверните в App Engine, сценарий Windows с COM, иметь рекомендуется использовать spiffy стороннюю IDE и т. д. 3.1, но если вы заботитесь о таких вещах, то пока 2. *.

Другие советы

Использование 3.1

Почему?

1) Потому что до тех пор, пока все по-прежнему используют 2.6, у библиотек будет меньше причин для перехода на 3.1.До тех пор, пока эти библиотеки не портированы на 3.1, вы остаетесь перед выбором: либо не использовать сильные стороны 3.1, либо выполнять работу только наполовину, используя хакерское решение с использованием перенесенного набора функций. Будьте дальновидным мыслителем и помогайте продвигать Python вперед.

2) Если вы изучите и будете использовать 3.1 сейчас, вам не придется переучивать его позже, когда массовый порт будет завершен.Я знаю, некоторые люди говорят, что вам не придется многому учиться, но зачем вообще учить это старое дерьмо? Сам Python движется к версии 3.1, библиотеки перейдут на версию 3.1, и это полный отстой - играть в догонялки и переучивать язык, который вы уже используете.

3) 3.1 есть ли во всем мире лучший язык, более стабильный и непротиворечивый, чем 2.6...это нормально.Все уроки, извлеченные из 2.6, были перенесены в 3.1, чтобы сделать его лучше. Это процесс, называемый ПРОГРЕССОМ.Вот почему никто до сих пор не использует Windows 3.1.Это то, как все движется ВПЕРЕД.Как вы думаете, почему еще они вообще взяли на себя труд перенести набор функций обратно?

4) Если вы изучаете Python и изучаете 2.6, то к тому времени, когда вы действительно освоитесь с языком, порты закончатся, и вам придется изучать библиотеки и язык заново.Если вы начнете с 3.1, то к тому времени, когда вы освоитесь с языком, порты будут отключены, и тогда вы сможете изучить библиотеки, которые вас интересуют. Это более плавный процесс.

5) Чтобы стать лучшим разработчиком. Если вам придется изучать и переучивать одни и те же вещи, ваше понимание не будет очень глубоким.Изучив этот язык и его библиотеки только один раз, у вас будет больше времени для работы с ними, а не для повторного изучения синтаксиса.Это позволит вам лучше понять их.Если вы действительно упускаете какие-то фрагменты, отказываясь от библиотек?НАПИШИТЕ ИХ.Вероятно, вам не понадобится целая библиотека, и обычно вы можете написать только те фрагменты, которые вам нужны, и разработать инструменты для себя.Это, опять же, поможет вам лучше и глубже понять язык.

Краткий ответ: начните с Python 2.6.

Почему: программирование веселее и полезнее, когда вы можете использовать работу других. Это означает частое использование сторонних библиотек. Многие из популярных библиотек для Python пока не поддерживают 3.x. PIL и NumPy / SciPy приходят на ум. Мой любимый интерпретатор, ipython, также пока не работает с 3.0. Многие фреймворки для модульного тестирования и веб-фреймворки также пока не работают на 3.0.

Таким образом, если вы начинаете в 3.x, многие двери будут закрыты для вас, по крайней мере, до тех пор, пока 3.x портирование не начнет работать. По общему признанию, в Python 3.x есть много приятных функций, но некоторые из них были перенесены в 2.6, а некоторые добавят в 2.7. Так что придерживайтесь 2.6 на данный момент и переоцените 3.x через год или около того.

Я думаю, что вы будете лучше обслуживаться, перейдя прямо в 3.0. Если у вас нет унаследованной кодовой базы, с которой вам приходится сталкиваться, у вас мало преимуществ в изучении 2.xx способов ведения дел.

В мире Python (как, впрочем, и в большинстве других) релизам обычно требуется некоторое время для перехода ко всем подпроектам, но если вам когда-нибудь понадобится перейти обратно на 2.xx, я не буду Не думаю, что вы найдете повторные вещи особенно болезненными.

Вы должны использовать последнюю версию любого изучаемого вами языка программирования, если у вас нет особых причин, по которым нет . Поскольку у вас нет существующего проекта, который не будет работать с Python 3.0, не стесняйтесь использовать новейшую версию.

Используйте Python 3.1, Люк.

Python 3.1 не должен использоваться, пока другие библиотеки не догонят его поддержку.

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

Хорошая новость заключается в том, что освоить Python 2.x и 3.x не так уж и сложно. Вы можете установить последнюю версию 2.x как версию, зарегистрированную в системе, чтобы запускать скрипты Python по умолчанию, а также установить последнюю версию 3.x, чтобы явно запускать ее, когда захотите. Это то, что у меня есть в моей системе Windows Vista.

Затем, ключевой документ для изучения различий между версиями 2.x и 3.x:

http://docs.python.org/3.1/whatsnew/3.0.html

Если вы читаете учебные материалы по Python, основанные на версии 2.x, а также ссылаетесь на раздел «Что нового в Python 3.0»? ссылка выше, вы получите понимание того, как все изменилось. Также посмотрите другие новые документы, например, о различиях между 3.0 и 3.1, но ссылка выше является основной для понимания изменений 2.x против 3.x.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top