Первый месяц: основы языка
Переменные и типы данных. Числа, строки, логические значения. Что такое изменяемый и неизменяемый тип — этот вопрос задают на собеседованиях почти всегда.
Списки, словари, множества, кортежи. Основной рабочий инструмент. Особенно словари: половина задач решается тем, что вы догадались положить данные в словарь.
Условия и циклы. Плюс генераторы списков — короткая запись, которая встречается в любом чужом коде.
Функции. Аргументы, значения по умолчанию, возврат значений, область видимости.
Работа с файлами. Чтение, запись, менеджер контекста.
Обработка ошибок. Как перехватывать исключения и почему нельзя молча глотать все подряд.
Цель месяца: написать программу на сто-двести строк без постоянного подглядывания.
Второй месяц: как пишут в реальности
Модули и пакеты. Как разбить код на файлы и импортировать.
Классы. На базовом уровне: зачем нужны, как создать, что такое методы. Глубокое погружение в наследование на старте не нужно.
Стандартная библиотека. Работа с датами, файловой системой, форматом JSON, аргументами командной строки. Огромная часть задач решается тем, что уже есть в поставке.
Виртуальные окружения и установка пакетов. Обязательно, иначе через месяц у вас каша из библиотек.
Запросы к сети. Получить данные с чужого сервера и разобрать ответ.
Третий месяц: применение
Выберите одно направление и сделайте на нём проект:
- Сервис. Один из веб-фреймворков, база данных, развёртывание.
- Автоматизация. Скрипты, разбор файлов, работа с таблицами, рассылка.
- Данные. Библиотеки для анализа, чтение больших выборок, простые графики.
Не берите всё сразу: одно направление до работающего результата полезнее трёх поверхностно.
Что можно пропустить на старте
- Асинхронность. Понадобится, но не в первые месяцы.
- Декораторы и метапрограммирование. Знать, что существуют, достаточно.
- Множественное наследование и тонкости объектной модели.
- Типизацию. Полезна, но не критична на входе.
На чём застревают
Классы. Многим непонятно, зачем они, если всё работает на функциях. Помогает не теория, а задача, где без них становится неудобно.
Импорты. Ошибки с путями и циклическими импортами — классика. Лечится пониманием, как устроены пакеты, а не заучиванием.
Виртуальные окружения. Кажутся лишней сложностью, пока не поставите две версии одной библиотеки и всё не сломается.
Как проверить, что месяц не прошёл зря
Напишите программу, которая: читает файл, обрабатывает данные, складывает результат в другой файл и печатает сводку. Без подсказок, с обработкой ошибок.
Получилось — идите дальше. Не получилось — не хватает практики, а не теории.
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- FastAPI: your first service in an eveningWhat a service for programs is, how to write your first one in an evening, and why automatic documentation saves time.
- FastAPI: первый сервис за вечерЧто такое сервис для программ, как написать первый за вечер и почему автоматическая документация экономит время.
- Django for beginners: a first project step by stepFrom installation to a working list with an admin panel — the steps, and what each one means.