Вы выбрали Python. Отличный выбор. Это один из самых популярных языков в 2024 году. Он обладает довольно широким спектром применения, на нем пишут и веб приложения, и телеграм ботов, и программы для компьютеров в виде десктопных или CLI (command line interface, приложения, использующие командную строку как интерфейс взаимодействия с пользователем) приложений, он используется в машинном обучении, автоматизации и многом другом. Ну, я думаю, вы это и так знаете, раз сделали такой выбор.
Начнем путь изучения!
Можно поступить на курс от одной из школ программирования, коих сейчас много. По правде сказать, это проще чем самообучение, ведь там информация преподносится готовой, даже разжеванной, и тебе нужно просто сидеть и слушать, выполнять задания, как в настоящей школе. Этот вариант отлично подходит для тех, у кого есть проблемы с самоорганизацией. Но есть один минус - такие школы не учат учиться и разбираться во всем самому. Глубина знаний самоучки, как правило, больше, ведь он прочитал гораздо больше материалов, пока, например, искал ответ на вопрос. Когда ты ищешь ответы сам, больше вероятность наткнуться на какую-нибудь интересную статью.
По моему мнению, если и платить за что-то, то лучше покупать книги. Это вкусовщина, ведь кто-то лучше воспринимает видео чем текст, но, на мой взгляд, сам формат книги дает возможность более глубоко и подробно раскрыть тему.
В целом, можно обучаться абсолютно бесплатно, сейчас полно материалов в свободном доступе.
Из книг, я могу выделить следующие: - Изучаем Python - Марк Лутц (2 тома) - Простой Python - Билл Любанович
Эти две книги довольно большие, но дают очень твердую базу в знании языка
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 и алгоритмы.
Сейчас полно различных нейронных сетей. Из бесплатных, я могу отметить peprlexity и copilot от microsoft. С помощью них значительно упрощается процесс обучения, ведь нейросеть можно попросить что-то объяснить или даже найти ошибку в коде. Только помните, что не стоит злоупотреблять нейросетями, ведь цель - научиться программировать, а не пользоваться нейросетями.
Расставлю точки над и. Начинающему программисту английский язык и не понадобится, но чем выше уровень знаний, тем больше он нужен. Пока вы учите базу, все материалы, скорее всего, будут на русском языке, но дальше вы будете нуждаться в более глубокой информации, которая, как правило, на английском. Например, это касается различных документаций. Существуют переводы документаций к популярным библиотекам, но если вам понадобится использовать какую-то непопулярную, то перевод вы, скорее всего, не найдете. Да и переводы не всегда актуальны. Так что учите английский язык, ведь даже ключевые слова в языке программирования Python - это английские слова: for, with, as, class, def и т.д.
Скажу по опыту, вести конспекты необходимо. Всегда полезно иметь под рукой материал, с помощью которого можно будет освежить в памяти пройденное. Сами конспекты можно вести как на компьютере, в таких программах как notion или obsidian (последним я пользуюсь сам), так и на бумаге.
Желаю вам удачи в изучении. Самое главное - не расстраиваться при неудачах, ведь даже у самых опытных программистов код не запускается с первого раза. И помните, что программирование - практический навык, поэтому нужно делать упор именно на нее.
Объектно-ориентированное программирование - одна из самых распространенных парадигм. Знание ООП позволит сделать код более гибким и масштабируемым
Для написания сложных программ необходимо использовать сторонние библиотеки. Они позволяют использовать готовый функционал. Также можно использовать модули для компоновки вашего приложения.
В Python 3.10 был добавлен новый функционал - сопоставление с шаблонами с помощью ключевых слов match и case. В статье также рассматривается производительность match/case по сравнению с if/else.
В этой статье описано, что означают различные классы исключений. Также рассмотрено создание собственных классов исключений.