Иван Иванов   8 марта в 14:00

Шаги по изучению языка программирования Python

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

Кто использует Питон

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

Синтаксис ядра Python минималистичен. Набирает большую популярность, на нем пишется множество сайтов и приложений.

Его используют такие компании, как:

  • Google,
  • Яндекс,
  • NASA,
  • Dropbox,
  • и др.

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

Методы изучения

Существует несколько классических путей в изучении любого языка:

  1. курсы,
  2. книги,
  3. практика.

Программист постоянно работает с интернетом, поэтому во время практики он познает даже больше, чем при целенаправленном изучении.

Порекомендую пятерку лучших, на мой взгляд, сайтов для изучения Python:

  • OTUS,
  • Stepik,
  • Hexlet,
  • Skillbox,
  • Coursera.

Книги для изучения Python

Что же касается книг, то тут я бы порекомендовал начать с двух книг:

  1. Python crash course” от Эрика Маттеса,
  2. Byte of Python”, Swaroop Chiltur.

Далее, для того, чтобы лучше понимать, как работает алгоритмы и сам язык, стоит прочитать “Grokking Algorithms” от Адитьи Бхаргавой

После прочтения этих двух книг можно взять что-нибудь поинтереснее. Например, “Automate The Boring Stuff With Python”, в которой вы еще больше углубитесь в язык, но при этом еще и начнете использовать его практически, пока пишите полезные скрипты для вашего компьютера. Эта книга уже не обязательна к прочтению, но ознакомиться стоит.

"Изучаем Python" от Марка Лутца

Одна из самых рекомендуемых книг. Стоит начать с того, что книга довольно увесистая - 1600 страниц. Книгу довольно сложно читать, поэтому мне приходилось к ней несколько раз возвращаться, некоторые места пришлось перечитывать несколько раз, потому как из-за языкового барьера я не всегда понимал, что конкретно имел в виду автор.

Книга мне в целом понравилась, но есть и слабые моменты.

Почему я выбрал именно эту книгу?

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

Я также почитал про автора книги и узнал, что он программирует на Python ещё со времён первой версии, а также преподаёт в университете. Это меня сильно убедило, и я начал чтение.

Что мне понравилось?

Автор очень детально описывает синтаксис языка, его логические конструкции, фокусирует внимание на том, как принято писать код в сообществе программистов Python.

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

Что мне не понравилось?

Автор в своих примерах иногда использует материал, который на данном этапе ещё не был представлен в книге, например, он говорит про функции и операции с ними, после чего приводит пример “А вот как это можно было сделать с классами”, что сбивает с толку. Автор иногда слишком увлекается описанием, по итогу получается глава, наполненная “водой”, из-за чего главные аспекты не укладываются в памяти.

Автор иногда использует довольно сложную лексику, поэтому приходится узнавать о значении в интернете. Автор порой повторяется, обычно такое происходит, когда он напоминает о том, как использовать ту или иную функцию. Из-за того, что автор рассматривает сразу две версии языка Python (вторую и третью), в некоторых примерах из третьей версии импортируются те библиотеки, которые были удалены.

Python 2 или Python 3

Последнее исправление Python 2 выйдет в апреле 2020 года.

Python 2 достиг конца своего жизненного цикла. Ожидается, что эта устаревшая версия языка получит последний выпуск bugifx в апреле 2020 года. Кодовая база проекта была полностью заморожена, и больше не будет возможности вводить новые функции. Разработчикам, которые еще не сделали этого, рано или поздно придется перейти на Python 3.

Первая версия Python 3 датируется декабрем 2008 года. Поэтому программным проектам, основанным на Python 2, потребовалось 11 лет, чтобы обновить их эталонный выпуск. Основная проблема перехода на Python 3 заключается в отсутствии обратной совместимости с некоторыми функциями предыдущих выпусков.

Поэтому этот элемент заставил нескольких разработчиков отложить перенос на самую последнюю основную ветку на неопределенное время. Первоначально прекращение поддержки Python 2 было запланировано на 2015 год. Однако в то время различные поставщики программного обеспечения еще не были готовы к переходу на Python 3.

Поэтому руководители проектов решили продлить жизненный цикл других Python 2. 5 лет, чтобы дать сообществу больше времени для улучшения Python 3 и сделать процедуры переноса быстрее и проще.

Хотя разработка Python 2 теперь ушла в прошлое, очень вероятно, что это направление останется еще в течение нескольких лет в сфере предпринимательства, т.к. тысячи корпоративных приложений основаны на нем.

Начиная с 2020 года, использование Python 2 будет все более рискованным, учитывая отсутствие исправлений безопасности, кроме того, все службы и IDE скоро перестанут поддерживать эту устаревшую версию языка.

Что дальше?

Представим, что книги вы уже прочитали. Что дальше? Вам следует уже определяться с областью, в которой вы хотите работать. В этой статьей я рассмотрю самый популярный вариант того, чем можно заниматься - веб-программирование. Специфичных книг именно по веб-программированию не так много, в основном вся информация есть на форумах и сайтах.

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

Фреймворки – это такое программное обеспечение, которое облегчает вам работу по объединению разных компонентов проекта. Ими постоянно сейчас пользуются, они легки в освоении, так что не стоит проходить мимо и зря усложнять работу. На мой взгляд самые лучшие на данный момент:

  1. Flask,
  2. Django.

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