Рассмотрим как изучать высокоуровневый язык программирования Python, книги для изучения Питона, какую версию выбрать.
Кто использует Питон
Python или "Питон" - высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода.
Синтаксис ядра Python минималистичен. Набирает большую популярность, на нем пишется множество сайтов и приложений.
Его используют такие компании, как:
- Google,
- Яндекс,
- NASA,
- Dropbox,
- и др.
Перед тем как начать изучать Python, сначала разберемся для чего он используется. А используется он далеко не только для создания сайтов и простетских приложений. На нем пишут различные скрипты для игр, он используется для обработки огромного количества информации в научных исследованиях, для анализа большого количества данных, а также с помощью него создают серьезные десктопные приложения.
Методы изучения
Существует несколько классических путей в изучении любого языка:
- курсы,
- книги,
- практика.
Программист постоянно работает с интернетом, поэтому во время практики он познает даже больше, чем при целенаправленном изучении.
Порекомендую пятерку лучших, на мой взгляд, сайтов для изучения Python:
- OTUS,
- Stepik,
- Hexlet,
- Skillbox,
- Coursera.
Книги для изучения Python
Что же касается книг, то тут я бы порекомендовал начать с двух книг:
- “Python crash course” от Эрика Маттеса,
- “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 достиг конца своего жизненного цикла. Ожидается, что эта устаревшая версия языка получит последний выпуск 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 скоро перестанут поддерживать эту устаревшую версию языка.
Что дальше?
Представим, что книги вы уже прочитали. Что дальше? Вам следует уже определяться с областью, в которой вы хотите работать. В этой статьей я рассмотрю самый популярный вариант того, чем можно заниматься - веб-программирование. Специфичных книг именно по веб-программированию не так много, в основном вся информация есть на форумах и сайтах.
Но интернет курсов хоть отбавляй, можете поискать на тех же ресурсах, которые я указывал ранее и выбрать себе по душе. Если вы хотите пойти по более самостоятельному пути, советую начать с изучения фрейморков.
Фреймворки – это такое программное обеспечение, которое облегчает вам работу по объединению разных компонентов проекта. Ими постоянно сейчас пользуются, они легки в освоении, так что не стоит проходить мимо и зря усложнять работу. На мой взгляд самые лучшие на данный момент:
- Flask,
- Django.
Они имеют свои преимущества и недостатки перед друг другом и вам выбирать каким пользоваться. Но учтите, что большинство ресурсов на английском языке и если вы хотите получать самую актуальную информацию, английский лучше учить.