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

Должен ли я начать с Python 3.0?

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

4b9b3361

Ответ 1

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

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

Ответ 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, чтобы сделать его лучше. Это процесс, называемый PROGRESS. Вот почему никто до сих пор не использует Windows 3.1. Это то, как все движется ВПЕРЕД. Почему еще, по-вашему, они столкнулись с проблемой обратной передачи функции в первую очередь?

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

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

Ответ 3

Короткий ответ: Начните с 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 через год или около того.

Ответ 4

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

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

Ответ 5

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

Ответ 6

Используйте python 3.1, Luke.

Ответ 7

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

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

Ответ 8

Хорошей новостью является то, что на самом деле это не так сложно изучать как 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.