- Python за месяц
- Первая неделя: познакомьтесь с Python
- Вторая неделя: начните разработку программного обеспечения (соберите проект)
- Третья неделя: освойтесь как программист
- Четвертая неделя: серьезно отнеситесь к тому, чтобы получить работу (стажера)
- 25 бесплатных курсов по Python 2023 года
- Тренажёры
- Бесплатные курсы школ программирования
- Курсы на YouTube
Python за месяц
Месяц — это много времени. Если тратить на обучение по 6-7 часов каждый день, то можно сделать дофига.
- Ознакомиться с основными понятиями (переменная, условие, список, цикл, функция)
- Освоить на практике более 30 проблем программирования
- Собрать два проекта, чтобы применить на практике новые знания
- Ознакомиться хотя бы с двумя фреймворками
- Начать работу с IDE (средой разработки), Github, хостингом, сервисами и т. д.
Статья переведена при поддержке компании EDISON Software, которая дает дельные советы юниорам, а также проектирует программное обеспечение и пишет ТЗ на русском и английском.
Первая неделя: познакомьтесь с Python
Разберитесь как все устроено в Python. Проверьте как можно больше вещей.
- День 1: 4 основных концепта (4 часа): ввод, вывод, переменная, условия
- День 2: 4 основных концепта (5 часов): список, цикл for, цикл while, функция, импорт модулей
- День 3: Простые проблемы программирования (5 часов): поменять местами две переменные, перевести градусы Цельсия в градусы по Фаренгейту, посчитать сумму всех разрядов в числе, проверить число на простоту, сгенерировать случайное число, удалить дубликат из списка
- День 4: Проблемы программирования средней сложности (6 часов): перевернуть строку (проверить на палиндром), посчитать наибольший общий делитель, объединить два отсортированных массива, написать игру на угадывание чисел, посчитать возраст и т.д.
- День 5: Структуры данных (6 часов): стек, очередь, словарь, кортежи, связный список
- День 6: ООП — Объектно-ориентированное программирование (6 часов): объект, класс, метод и конструктор, ООП наследование
- День 7: Алгоритм (6 часов): поиск (линейный и бинарный), сортировка (методом пузырька, выбором), рекурсивная функция (факториал, ряд Фибоначчи), временная сложность алгоритмов (линейных, квадратичных, константных)
Я понимаю, звучит противоречиво. Но поверьте мне. Я знаю кучу людей, у которых отпало всякое желание изучать что-либо после того как они не смогли установить среду разработки или ПО. Я советую сразу залезть в андроид приложение вроде Programming Hero или на сайт Repl и начать исследовать язык. Не ставьте себе задачу первым делом установить Python, если вы не особо подкованы технически.
Вторая неделя: начните разработку программного обеспечения (соберите проект)
Получите опыт разработки ПО. Попробуйте использовать все, что вы выучили, чтобы создать настоящий проект.
- День 1: Ознакомьтесь со средой разработки (5 часов): Среда разработки это интерактивная среда, где вы будете писать код для самых больших проектов. Вы должны хорошо знать хотя бы одну среду разработки. Я рекомендую начать с VS code install Python extension или Jupyter notebook
- День 2: Github (6 часов): Изучите Github, создайте репозиторий. Попробуйте закоммитить, запушить код, вычислить разницу между двумя любыми Git деревьями. Также разберитесь с ветвлением, слиянием и пул реквестами.
- День 3: Первый проект: Простой Калькулятор (4 часа): Ознакомьтесь с Tkinter. Создайте простой калькулятор.
- День 4, 5, 6: Личный проект (5 часов каждый день): Выберите один из проектов и начните над ним работу. Если у вас нет идей для проекта, посмотрите этот список: несколько хороших проектов на Python
- День 7: Хостинг (5 часов): Разберитесь с сервером и хостингом, чтобы хостить свой проект. Настройте Heroku и задеплойте сборку вашего приложения.
Просто слепо следуя шагам в уроке или видео вы не разовьете умение думать. Вы должны применить свои знания в проекте. Как только вы потратите все силы на поиск ответа, вы его запомните.
Третья неделя: освойтесь как программист
Ваша цель на 3 неделе получить общее представление о процессе разработки ПО. Вам не нужно будет оттачивать ваши навыки. Но вы должны знать некоторые основы, так как они повлияют на вашу повседневную работу.
- День 1: Основы баз данных (6 часов): Базовый SQL-запрос (Create Table, Select, Where, Update), Функция SQL (Avg, Max, Count), реляционная база данных (Нормализация), Внутреннее соединение, Внешнее соединение и т. д.
- День 2: Используйте базы данных в Python (5 часов): Используйте фреймворк базы данных (SQLite или Pandas), подсоединитесь к базе данных, создайте и добавьте данные в несколько таблиц, считайте данные из таблиц
- День 3: API (5 часов): Научитесь вызывать API, подучите JSON, микросервисы, REST API
- День 4: Numpy (4 часа): Ознакомьтесь с Numpy и попрактикуйтесь в его использовании на первых 30 упражнениях
- День 5, 6: Портфолио сайта (5 часов каждый день): Выучите Django, создайте портфолио сайта на Django, также взгляните на фреймворк Flask
- День 7: Юнит-тесты, логи, отладка (4 часа): Разберитесь с юнит-тестами (PyTest), научитесь работать с логами и проверять их и используйте брейкпоинты
Если вы болеете этой темой и посвящаете ей всего себя, то сможете сделать все за месяц.
- Учите Python постоянно. Начинайте в 8 утра и занимайтесь этим до 5 вечера. Сделайте перерыв на обед и перекусы (в общей сложности час)
- В 8 утра составьте список вещей, которые вы будете изучать сегодня. После уделите час времени, чтобы вспомнить и опробовать на практике все, что выучили вчера.
- C 9 утра до 12 часов дня учите и практикуйтесь поменьше. После обеда наберите обороты. Если вы застряли на какой-то проблеме, поищите ее решение в сети.
- Каждый день тратьте по 4-5 часов на обучение и 2-3 часа на практику. (максимум можете устроить себе один выходной в неделю)
- Ваши друзья решат, что вы сумасшедший. Не разочаровывайте их — соответствуйте образу.
Четвертая неделя: серьезно отнеситесь к тому, чтобы получить работу (стажера)
Ваша цель четвертой недели всерьез задуматься об устройстве на работу. Даже если вы не хотите получать работу прямо сейчас, вы многому научитесь в процессе собеседований.
- День 1: Резюме (5 часов): Создайте одностраничное резюме. В верхней части резюме разместите краткие сведения о своих навыках. Обязательно добавьте список своих проектов с ссылками на Github.
- День 2: Портфолио сайта (6 часов): Напишите несколько блогов. Добавьте их в предыдущее портфолио сайта, которое вы сделали.
- День 3: Профиль LinkedIn (4 часа): Создайте профиль в LinkedIn. Перенесите в LinkedIn все, что есть у вас в резюме.
- День 4: Подготовка к собеседованию (7 часов): Загуглите самые часто задаваемые вопросы на собеседованиях. Попрактикуйтесь в решении 10 проблем программирования, о которых спрашивают на собеседованиях. Делайте это на бумаге. Вопросы с собеседований можно найти на сайтах вроде Glassdoor, Careercup
- День 5: Нетворкинг (~ часов): Выберитесь из чулана. Начните ходить на митапы, ярмарки вакансий. Познакомьтесь с рекрутерами и другими разработчиками.
- День 6: Просто откликнитесь на вакансии (~ часов): Загуглите “работа Python”, посмотрите какие вакансии есть на LinkedIn и местных сайтах с предложениями работы. Выберите 3 вакансии, на которые вы откликнитесь. Настройте свое резюме под каждую из них. Найдите 2-3 вещи в списках требований, которые вы не знаете. Потратьте следующие 3-4 дня на то, чтобы в них разобраться.
- День 7: Учитесь за счет отказов (~ часов): Каждый раз, когда вы получаете отказ, определите для себя 2 вещи, которые вы должны знать, чтобы получить работу. Затем потратьте 4-5 дней на то, чтобы отточить свое мастерство в этих вопросах. Таким образом, после каждого отказа вы будете становиться лучше как разработчик.
Правда в том, что вы никогда не будете готовы к работе на 100%. Все что вам нужно это очень хорошо выучить 1-2 вещи. И ознакомиться с другими вопросами, чтобы преодолеть барьер собеседований. Как только вы получите работу, вы многому научитесь на ней.
Наслаждайтесь процессом:
Обучение это процесс. На вашем пути обязательно будут трудности. Чем их больше — тем вы лучше как разработчик.
Если вы сможете закончить список за 28 дней, вы большой молодец. Но даже если вы выполните 60-70% списка, вы разовьете необходимые качества и навыки. Они помогут вам стать программистом.
Если вы все еще не знаете c чего начать,
- Programming Hero (увлекательное андроид приложение для изучения Python)
- Изучение Python для машинного обучения (бесплатные ресурсы для обучения в веб-версии)
- Серия видео на YouTube (смотрите видео и учитесь)
Перевод: Диана Шеремьёва
25 бесплатных курсов по Python 2023 года
Тема обучения «Питону» — вечнозелёная, посколько Python отличный для начинающих язык. Особенно для тех, кто хотя бы на базовом уровне владеет английским: синтаксис Python с ним очень близок и легко читается.
Обучение облегчается и тем, что код можно запускать в интерпретаторе и тестировать непосредственно в ходе разработки. Еще одно его преимущество — многофункциональность. На Python можно написать и сайт, и веб-приложение, и игру, а также работать с большими данными и автоматизацией процессов. На «Питоне» есть множество библиотек, содержащих решения типовых задач и большое количество документации на все случаи жизни. Со знанием Python человеку по плечу много задач:
⦁ Бэкенд в web-разработке. Фреймворки языка Django и Flask используются для разработки серверной части web-приложений, программного кода, выполняемого на сервере.
⦁ Анализ и визуализация больших массивов данных. Python позволяет анализировать большие потоки данных, визуализируя их в виде графиков и диаграмм, что облегчает поиск закономерностей.
⦁ Машинное обучение. Фреймворки Python используются для разработки алгоритмов искусственного интеллекта. Пользуется огромной популярностью как простотой и гибкий язык с большим выбором библиотек.
⦁ Автоматизация процессов. Отлично подходит для создания сценариев работы любого программного обеспечения: обработка электронной почты, загрузка различного контента с хостингов и т. д.
Разработчик Python всегда найдет работу несмотря даже в начинающуюся эпоху продвинутых пишущих код ИИ.
Бесплатный курс не сделает из вас полноценного профессионала, но послужит отправной точкой и даст базу языка, которая позволит самому решать, как дальше осваивать Python-разработку.
Эта подборка идеально подходит, чтобы отправить её знакомым, которые не знают с чего начать. Здесь собраны курсы Python разных форматов:
- просто уроки в записи,
- онлайн-тренажеры с компиляторами кода,
- курсы с тестированием и сертификатами.
Тренажёры
Даже если разработка приложений не входит в должностные обязанности, обучение Python разовьет способность анализировать сложные проблемы, систематизировать рутинные задачи и предлагать пути их автоматизации.
- Тренажер по Python от Каталог-курсов.ру. Тренажёр состоит из блоков теории, после которого сразу идет практика с задачами прямо внутри тренажёра.
Бесплатные курсы школ программирования
- «Инди-курс программирования на Python» от Stepik: видеоуроки в записи и задачи с самостоятельной проверкой. Состоит из 91 урока.
- «Добрый, добрый Python» от Сергея Балакирева: видеоуроки в записи и задачи с самостоятельной проверкой. 67 уроков.
- «Поколение Python: курс для начинающих» от Stepik: видеоуроки в записи и задачи с самостоятельной проверкой. 61 урок.
- «Основы языка Python» от Hexlet: видеоуроки в записи и задачи с самостоятельной проверкой. 44 урока.
- «Программирование для всех (начало работы с Python)» от Coursera: видеоуроки в записи и задачи с самостоятельной проверкой. 40 уроков.
- «Программирование на Python» от Stepik: видеоуроки в записи и задачи с самостоятельной проверкой. 28 уроков.
- «Основы программирования на языке Python в примерах и задачах» от Stepik: видеоуроки в записи и задачи с самостоятельной проверкой. 13 уроков.
- «Ключевые аспекты разработки на Python» от Hexlet: видеоуроки в записи и задания с самопроверкой. 7 уроков.
- «Python-разработка для начинающих» от Нетологии: видеоуроки в записи и задачи с самостоятельной проверкой, 7 уроков.
- «Программирование на Python для начинающих» от Михаила Русакова: видеоуроки в записи и задачи с самостоятельной проверкой, 22 урока.
- «Python» от Skillbox: видеоуроки в записи и задачи с самостоятельной проверкой. Состоит из 17 уроков.
- «Основы языка Python» от Hexlet: видеоуроки в записи и задачи с самостоятельной проверкой, 15 уроков.
- «Введение в Python» от Hexlet: видеоуроки в записи и задачи с самостоятельной проверкой, 10 уроков.
Курсы на YouTube
- Этический взлом на Python: 123 YouTube-урока.
- Язык программирования PYTHON для начинающих: 81 виедоурок.
- Python для начинающих от Code Basics: обучающий онлайн-тренажер. Состоит из 69 видеоуроков.
- Python для новичка: 59 видеоуроков.
- Интернет-магазин Django 3.0: 34 урока.
- Django для python (уроки): 26 уроков.
- Python для начинающих от ItProger: 25 уроков.
- 2020 Практика программирования на Python, лекция №1: 15 уроков.
- Программирование на Python (2021): 12 видеоуроков.
- Разработка игр на Python | Pygame: 6 видеоуроков.
Для эффективного обучения важно вместе с теорией сразу практиковаться. Так что лучше выбирать курсы сразу практикой или же тренироваться самому параллельно с изучением теории.