С чего начать изучение программирования на Python в 2024 году

Вы выбрали Python. Отличный выбор. Это один из самых популярных языков в 2024 году. Он обладает довольно широким спектром применения, на нем пишут и веб приложения, и телеграм ботов, и программы для компьютеров в виде десктопных или CLI (command line interface, приложения, использующие командную строку как интерфейс взаимодействия с пользователем) приложений, он используется в машинном обучении, автоматизации и многом другом. Ну, я думаю, вы это и так знаете, раз сделали такой выбор.

Начнем путь изучения!

Платные и бесплатные материалы

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

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

В целом, можно обучаться абсолютно бесплатно, сейчас полно материалов в свободном доступе.

Книги

Из книг, я могу выделить следующие: - Изучаем Python - Марк Лутц (2 тома) - Простой Python - Билл Любанович

Эти две книги довольно большие, но дают очень твердую базу в знании языка

YouTube каналы

  • Alek OS - про программирование и computer science в целом.

  • egoroff_channel - этот канал содержит целые видеокурсы по python. Там есть как курсы для совсем начинающих, так и для более продвинутых, даже есть курс по веб фреймворку Django, с помощью которого можно создавать сайты. Также автор сделал версию своего youtube курса по python на платформе Stepik. Это тот же курс для начинающих, только с интерактивными заданиями.

  • luchanos - канал про IT-индустрию в целом. Канал содержит видео про веб-фреймворк fastapi, разработку телеграм-ботов, такие технологии как git, docker и прочие. Канал не для новичков, но освоив основы языка, вы сможете понимать видео автора.

  • PyLounge - очень полезный канал, на котором вы сможете найти видео на любые темы. Там есть видео, например, про то, какие проекты можно написать начинающему python разработчику, ООП, декораторы, регулярные выражения. Очень полезный канал

  • selfedu - полезный канал с целыми плейлистами видеоуроков по Python, Django, Flask, DRF. Я сам изучал django по материалам этого автора.

  • ZProger [ IT ] - автор рассказывает про всякие фишки языка, обновления и т. д.

  • Гоша Дударь - один из самых известных каналов про программирование в русскоязычном сегменте YouTube. Хорошие видеоуроки для начинающих.

  • Хауди Хо - еще один популярный канал. В основном, на нем развлекательные видео, но я должен отдать дань уважения этому каналу, ведь многих он заинтересовал программированием.

  • Тимофей Хирьянов - канал преподавателя кафедры информатики МФТИ. Автор выкладывает большие лекции про python и алгоритмы.

Сайты

  • metanit.com - содержит базовый курс по python
  • habr.com - один из самых популярных IT сайтов. Там есть статьи на любые темы, в том числе и про Python.
  • stackowerflow.com - сайт, где можно задать вопрос о чем угодно. Только помните, что прежде чем задавать где-либо вопрос, нужно поискать ответ самому и только если попытки оказались тщетными, обращаться за помощью.
  • codewars.com, leetcode.com, exercism.org - сайты с задачами, решая которые вы будете нарабатывать практику
  • proglib.io - полезный сайт со статьями про Python и не только.
  • letpy - на сайте есть замечательный раздел со справочником.
  • pythoninmymind - было бы странно не упомянуть самих себя, но, пользуясь случаем, попрошу сохранить сайт в закладки и поделиться этой статьей с друзьями. В ближайшее время на сайте появится много контента для начинающих программистов.

Нейросети

Сейчас полно различных нейронных сетей. Из бесплатных, я могу отметить peprlexity и copilot от microsoft. С помощью них значительно упрощается процесс обучения, ведь нейросеть можно попросить что-то объяснить или даже найти ошибку в коде. Только помните, что не стоит злоупотреблять нейросетями, ведь цель - научиться программировать, а не пользоваться нейросетями.

Английский язык

Расставлю точки над и. Начинающему программисту английский язык и не понадобится, но чем выше уровень знаний, тем больше он нужен. Пока вы учите базу, все материалы, скорее всего, будут на русском языке, но дальше вы будете нуждаться в более глубокой информации, которая, как правило, на английском. Например, это касается различных документаций. Существуют переводы документаций к популярным библиотекам, но если вам понадобится использовать какую-то непопулярную, то перевод вы, скорее всего, не найдете. Да и переводы не всегда актуальны. Так что учите английский язык, ведь даже ключевые слова в языке программирования Python - это английские слова: for, with, as, class, def и т.д.

Конспекты

Скажу по опыту, вести конспекты необходимо. Всегда полезно иметь под рукой материал, с помощью которого можно будет освежить в памяти пройденное. Сами конспекты можно вести как на компьютере, в таких программах как notion или obsidian (последним я пользуюсь сам), так и на бумаге.

Напутствие

Желаю вам удачи в изучении. Самое главное - не расстраиваться при неудачах, ведь даже у самых опытных программистов код не запускается с первого раза. И помните, что программирование - практический навык, поэтому нужно делать упор именно на нее.


ООП. Введение в объектно-ориентированное программирование в Python

Объектно-ориентированное программирование - одна из самых распространенных парадигм. Знание ООП позволит сделать код более гибким и масштабируемым

Модули в языке Python. Разбиение программ на модули. Установка сторонних библиотек

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

Pattern matching в Python - конструкция match case

В Python 3.10 был добавлен новый функционал - сопоставление с шаблонами с помощью ключевых слов match и case. В статье также рассматривается производительность match/case по сравнению с if/else.

Классы исключений. Создание собственных исключений

В этой статье описано, что означают различные классы исключений. Также рассмотрено создание собственных классов исключений.