Курсы Python Любимый язык новичков… и профессионалов
Читаемый, универсальный и повсюду - скрипты, данные, веб, автоматизация. От переменных до тестов, через ООП, генераторы и асинхронность: полное направление от твоего первого print() до профессиональных практик.
Начать этот курс в Kodokon Основы Новичок - база, шаг за шагом
Установи Python и напиши первую программуТы установишь Python, познакомишься с REPL и выведешь первое сообщение с помощью print. Переменные и базовые типыТы научишься хранить значения в переменных и работать с типами int, float, str и bool. Условия: if, elif, elseТы научишься заставлять программы принимать решения с помощью if, elif, else и логических операторов. Циклы: for, while, break и continueТы научишься повторять инструкции с помощью for и while и управлять циклами через range, break и continue. Списки и словариТы научишься создавать, читать, изменять и перебирать списки и словари, чтобы упорядочивать свои данные. Развитие Средний уровень - создавай реальные проекты
Функции: def, параметры, return и область видимостиСтруктурируй код в переиспользуемые функции, освой значения по умолчанию и разберись с областью видимости переменных. Строки в глубину: срезы, f-строки, методыИзвлекай, форматируй и очищай текст как в настоящем проекте - благодаря срезам, f-строкам и методам строк. Списковые и словарные включенияЗамени циклы, которые строят коллекции, выразительными включениями, чтобы преобразовывать, фильтровать и переиндексировать данные. Файлы и модули: with, import, организация кодаЧитай и записывай файлы аккуратно через with, обменивайся данными в JSON и организуй код в импортируемые модули. Ошибки и исключения: try, except, raiseПерехватывай предсказуемые сбои через try/except/else/finally и возбуждай собственные исключения, чтобы сигнализировать о некорректных данных. Продвинутый Уверенный уровень - продвинутые паттерны и производительность
ООП: классы, __init__, методы и наследованиеСтруктурируй код с помощью хорошо продуманных классов: инициализация, атрибуты экземпляра или класса, наследование и его компромиссы. Продвинутые структуры: кортежи, множества и collectionsВыбирай структуру под каждую задачу: неизменяемые кортежи, множества для проверки вхождения за O(1), Counter и defaultdict для типовых сценариев. Итераторы и генераторы: yield и конвейерыОсвой протокол итерации и генераторы, чтобы обрабатывать потоки данных лениво, при постоянном расходе памяти. Декораторы и функции высшего порядкаИспользуй функции как полноценные объекты, чтобы писать надёжные, параметризуемые и прозрачные декораторы. Виртуальные окружения, pip и чистый проектИзолируй каждый проект в собственном venv, фиксируй зависимости и придерживайся воспроизводимой структуры проекта. Мастерство Эксперт - архитектура, внутренности и крайние случаи
Аннотации типов и dataclasses: серьёзная типизация современного PythonРазберись, что аннотации на самом деле делают во время выполнения, и выжми максимум из dataclasses с frozen, slots и default_factory. Протоколы и специальные методы: __repr__, __eq__, менеджеры контекстаОсвой объектную модель Python: контракт __eq__/__hash__, значение NotImplemented, менеджеры контекста и структурную типизацию через Protocol. Асинхронность с asyncio: корутины, await, gatherРазберись в кооперативной многозадачности asyncio: ленивые корутины, точки приостановки, gather, TaskGroup и ловушки блокирующих вызовов. Производительность: профилирование, GIL, генераторы против списков, ловушки памятиСначала измеряй, потом оптимизируй: timeit и cProfile, что на самом деле блокирует GIL, экономность генераторов и ловушки памяти со строками и срезами. Тестирование с pytest: фикстуры, параметризация, хорошие практикиСтрой надёжные тесты на pytest: внедрение фикстур, очистка через yield, табличная параметризация и ловушки широких областей видимости.