Научиться программировать в python

Изучаем Python за 6 месяцев. Подробный план обучения

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

Когда я начал изучать питон, у меня возникло несколько вопросов:

  • какие темы необходимо изучить;
  • насколько это будет сложно;
  • сколько это займёт времени;
  • где найти хорошие источники информации?

Вкратце, на мой взгляд, необходимо знать следующие темы:

  • стандартные типы данных;
  • условия;
  • циклы;
  • функциональное программирование;
  • работа с файлами;
  • регулярные выражения;
  • основы алгоритмов;
  • объектно-ориентированное программирование (ООП);
  • конкурентность;
  • тестирование кода;
  • полезные библиотеки типа itertools, collections и тому подобное.

Если вы прежде не занимались программированием, то поначалу будет сложновато, но потом мозги «настроятся» в нужное русло и будет нормально.

На этом преамбула окончена и переходим непосредственно к плану обучения.

Основы (3 месяца)

Предлагаю начать с прочтения книги Билла Любановича «Простой Python. Современный стиль программирования» (второе издание) чтобы иметь базовое представление о том, что такое программирование и как выглядит код на Python.

Далее переходим к курсам на платформе Stepik:

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

После следует приступить к плейлисту декораторы канала luchanos и для практики пройти на Stepik «Декораторы в Python»: часть 1 и часть 2.

Ещё по желанию можно пройти регулярные выражения: курс, учебник и практика.

Введение в алгоритмы (2 недели)

Вообще, о том, как шатать leetcode и проходить алгоритмические фиды на собесах – дело отдельной статьи, поэтому пока обойдёмся основами основ и здесь на сцену вступает небезызвестная книга Адитьи Бхаргавы «Грокаем алгоритмы».

Автору удалось сделать очень дружелюбное к новичкам пособие, из которого вы узнаете про алгоритмы поиска и сортировки, что такое рекурсия, динамическое программирование и многое другое – однозначно рекомендасьон.

Объектно-ориентированное программирование (3 недели)

  • плейлист Python OOP канала JimShapedCoding;
  • курс Python ООП Олега Молчанова – лучшее объяснение из всех, что я видел.

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

Также параллельно с курсами было бы хорошо углубляться в пройденные темы и для этого есть неплохая книга «Object-oriented Python», Irv Kalb.

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

Читайте также:  Change which java path

Для практики переходим на codewars OOP: когда получится решать 5 кату, то можно двигаться дальше.

Конкурентность (2 недели и больше)

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

Основы многопроцессорности и многопоточности:

По асинхронному программированию есть 2 хороших плейлиста:

Параллельно с курсами лучше пользоваться книгой Мэттью Флауэра «Asyncio и конкурентное программирование на Python».

Отсюда вы узнаете о выполнении конкурентных запросов к базам данных, сочетании многопоточной обработки с asyncio, управлении подпроцессами и многом другом.

Тестирование кода (1 неделя)

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

Поэтому предлагаю перейти к плейлисту Pytest тестирование канала luchanos.

Ещё есть неплохая книга «Python Testing with pytest» (second edition), Brian Okken, с которой также желательно ознакомиться.

В качестве альтернативы Pytest есть неплохой плейлист Unittest in python канала Paris Nakita Kejser и книга Владимира Хорикова «Принципы юнит-тестирования» (примеры кода на C#).

Больше продвинутых тем (3 недели)

В принципе, может показаться, что всего вышеперечисленного уже достаточно, но для лучшего понимания устройства функций и классов, как работает сборщик мусора, в чем отличие итераторов от генераторов, как пользоваться библиотеками типа itertools, collections и т.д., ещё необходимо немного углубиться, и в этом нам помогут 2 книги:

  • «Python – к вершинам мастерства» (второе издание), Лусиану Рамальо.
  • «Dead simple Python», Jason C. Mcdonald.

Книги плюс-минус об одном и том же, однако в последней некоторые темы рассматриваются на немного более поверхностном уровне. За счёт этого она читается легче.

Какую из них выбрать? Лучше читать наиболее непонятные темы из обеих книг.

Best practices (1 неделя и больше)

После того, как вы изучите основные конструкции и возможности языка, не будет лишним и узнать об их эффективном использовании, и для этой цели есть хорошая книга «Effective Python. 90 specific ways to write better Python» (second edition), Brett Slatkin.

Солянка из лучших практик, показывающая как сделать код более лаконичным и эффективным с «питоновской» точки зрения.

Что в итоге

Занимаясь по 10 часов в день, на изучение всех вышеперечисленных тем уйдёт около полугода – это цифры из собственного опыта, так что можно их брать в качестве начального ориентира, однако, возможно, у вас будут другие результаты.

Что дальше

Дальше можно смело двигаться в выбранное вами направление: будь то веб-разработка с Django и Flask или же машинное обучение с Numpy, Pandas и Pytorch – полученных знаний хватит за глаза.

Дополнительные источники

  • «Знакомство с Python», Дэн Бейдер;
  • «Изучаем Python» (третье издание), Эрик Мэтиз;
  • «Изучаем Python» (пятое издание, 2 тома), Марк Лутц;
  • «Python Workout: 50 ten-minute exercises», Reuven M. Lerner;
  • «Изучаем программирование на Python» (второе издание), Пол Бэрри;
  • «Начинаем программировать на Python» (пятое издание), Тони Гэддис;
  • «Автоматизация рутинных задач с помощью Python» (второе издание), Эл Свейгарт;
  • Курс по Python от Google;
  • Хендбук по Python – курс от Яндекса;
  • Python Full Course на канале Bro Code;
  • Питонтьютор – небольшой курс по Python;
  • Интерактивное руководство по Python от DataCamp;
  • Python tutorials – ещё один неплохой курс по питону;
  • Python for Everybody – курс от университета Мичигана;
  • Изучаем Python – курс для начинающих от freeCodeCamp;
  • Добрый, добрый Python – обучающий курс от Сергея Балакирева;
  • Инди-курс программирования на Python – курс от Артёма Егорова;
  • Алгоритмы и структуры данных на Python 3 – лекции Тимофея Хирьянова;
  • Программирование на Python – курс начального уровня от института биоинформатики.
  • «Секреты Python Pro», Дейн Хиллард;
  • «Using Asyncio in Python», Caleb Hattingh;
  • «Beyond the Basic Stuff with Python», Al Sweigart;
  • «Python. Книга рецептов», Дэвид Бизли, Брайан К. Джонс;
  • «Профессиональная разработка на Python», Мэттью Уилкс;
  • «Паттерны разработки на Python», Гарри Персиваль, Боб Грегори;
  • «Чистый Python. Тонкости программирования для профи», Дэн Бейдер;
  • «Python Object-Oriented Programming» (fourth edition), Steven F. Lott, Dusty Phillips;
  • Intermediate Python – продолжение начального курса от freeCodeCamp;
  • Python: основы и применение – курс среднего уровня от института биоинформатики;
  • Программирование на Python – более продвинутый курс от Computer Science Center;
  • Параллельное программирование – ещё один видеокурс от Computer Science Center.
Читайте также:  String сколько символов java

Ещё несколько полезных ссылок:

  • Документация по Python;
  • Python Tutor – отладчик кода;
  • Real Python – куча статей по Python;
  • PEP 8 – руководство по стилю кода на Python;
  • The Elements of Python Style – ещё одно руководство по стилю кода;
  • Stack Overflow – известный сервис вопросов и ответов по программированию;
  • CheckiO, LeetCode, Codewars, HackerRank – сайты с упражнениями для практики;
  • PyLounge, Андрей Иванов | Python, Диджитализируй!, egoroff_channel, selfedu, Amigoscode, Python Programmer – полезные каналы по Python.

Источник

25 бесплатных курсов по Python 2023 года

Тема обучения «Питону» — вечнозелёная, посколько Python отличный для начинающих язык. Особенно для тех, кто хотя бы на базовом уровне владеет английским: синтаксис Python с ним очень близок и легко читается.

Обучение облегчается и тем, что код можно запускать в интерпретаторе и тестировать непосредственно в ходе разработки. Еще одно его преимущество — многофункциональность. На Python можно написать и сайт, и веб-приложение, и игру, а также работать с большими данными и автоматизацией процессов. На «Питоне» есть множество библиотек, содержащих решения типовых задач и большое количество документации на все случаи жизни. Со знанием Python человеку по плечу много задач:

⦁ Бэкенд в web-разработке. Фреймворки языка Django и Flask используются для разработки серверной части web-приложений, программного кода, выполняемого на сервере.

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

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

⦁ Автоматизация процессов. Отлично подходит для создания сценариев работы любого программного обеспечения: обработка электронной почты, загрузка различного контента с хостингов и т. д.

Читайте также:  Python разделить символы строки пробелом

Разработчик Python всегда найдет работу несмотря даже в начинающуюся эпоху продвинутых пишущих код ИИ.

Слухи о смерти программирования оказались преждевременными

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

Эта подборка идеально подходит, чтобы отправить её знакомым, которые не знают с чего начать. Здесь собраны курсы Python разных форматов:

  • просто уроки в записи,
  • онлайн-тренажеры с компиляторами кода,
  • курсы с тестированием и сертификатами.

Тренажёры

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

  1. Тренажер по Python от Каталог-курсов.ру. Тренажёр состоит из блоков теории, после которого сразу идет практика с задачами прямо внутри тренажёра.

Бесплатные курсы школ программирования

  1. «Инди-курс программирования на Python» от Stepik: видеоуроки в записи и задачи с самостоятельной проверкой. Состоит из 91 урока.
  2. «Добрый, добрый Python» от Сергея Балакирева: видеоуроки в записи и задачи с самостоятельной проверкой. 67 уроков.
  3. «Поколение Python: курс для начинающих» от Stepik: видеоуроки в записи и задачи с самостоятельной проверкой. 61 урок.
  4. «Основы языка Python» от Hexlet: видеоуроки в записи и задачи с самостоятельной проверкой. 44 урока.
  5. «Программирование для всех (начало работы с Python)» от Coursera: видеоуроки в записи и задачи с самостоятельной проверкой. 40 уроков.
  6. «Программирование на Python» от Stepik: видеоуроки в записи и задачи с самостоятельной проверкой. 28 уроков.
  7. «Основы программирования на языке Python в примерах и задачах» от Stepik: видеоуроки в записи и задачи с самостоятельной проверкой. 13 уроков.
  8. «Ключевые аспекты разработки на Python» от Hexlet: видеоуроки в записи и задания с самопроверкой. 7 уроков.
  9. «Python-разработка для начинающих» от Нетологии: видеоуроки в записи и задачи с самостоятельной проверкой, 7 уроков.
  10. «Программирование на Python для начинающих» от Михаила Русакова: видеоуроки в записи и задачи с самостоятельной проверкой, 22 урока.
  11. «Python» от Skillbox: видеоуроки в записи и задачи с самостоятельной проверкой. Состоит из 17 уроков.
  12. «Основы языка Python» от Hexlet: видеоуроки в записи и задачи с самостоятельной проверкой, 15 уроков.
  13. «Введение в Python» от Hexlet: видеоуроки в записи и задачи с самостоятельной проверкой, 10 уроков.

Курсы на YouTube

  1. Этический взлом на Python: 123 YouTube-урока.
  2. Язык программирования PYTHON для начинающих: 81 виедоурок.
  3. Python для начинающих от Code Basics: обучающий онлайн-тренажер. Состоит из 69 видеоуроков.
  4. Python для новичка: 59 видеоуроков.
  5. Интернет-магазин Django 3.0: 34 урока.
  6. Django для python (уроки): 26 уроков.
  7. Python для начинающих от ItProger: 25 уроков.
  8. 2020 Практика программирования на Python, лекция №1: 15 уроков.
  9. Программирование на Python (2021): 12 видеоуроков.
  10. Разработка игр на Python | Pygame: 6 видеоуроков.

Для эффективного обучения важно вместе с теорией сразу практиковаться. Так что лучше выбирать курсы сразу практикой или же тренироваться самому параллельно с изучением теории.

Источник

Оцените статью