Python
Изучите Python от начала до конца. Синтаксис, структуры данных, ООП, генераторы, асинхронность, тестирование и упаковка.
19 уроков по порядку
- 120 мин
Привет, Python
Добро пожаловать. Если вы никогда раньше не писали код, вы попали куда надо. Python это язык программирования, то есть способ давать компьютеру...
VariablesPrintRepl - 225 мин
Числа и строки
С возвращением. В уроке 01 вы запустили свой первый файл на Python и узнали, что переменная - это коробка с ярлыком, в которой лежит значение....
IntegersFloatsString concatenationF-strings - 315 мин
Asking the User a Question
До сих пор вы писали программы, которые при нажатии на кнопку запуска всегда делают одно и то же. Запустите десять раз, получите те же десять...
Input()String return typeInt() and float() conversionInteractive programs - 430 мин
Управление потоком выполнения
До сих пор ваши программы выполнялись насквозь, сверху вниз, строка за строкой. Для приветствий этого достаточно, но большинству полезных программ...
If/elif/elseComparison operatorsBoolean operatorsWhile loopsFor loopsBreak and continue - 530 мин
Списки и кортежи
До сих пор каждая переменная хранила одно значение: одно число, одну строку. Настоящим программам обычно нужно держать вместе небольшую группу...
List creationIndexingSlicingAppendPopIteration+2 - 630 мин
Словари и множества
С возвращением. Списки хороши, когда важен порядок и вы достаёте элементы по позиции, но множество реальных данных устроено по именам: у человека...
Dict basicsGet with defaultIterate keysIterate valuesIterate itemsSets+1 - 730 мин
Функции
С возвращением. До сих пор вы пользовались несколькими функциями, которые идут в комплекте с Python, например print() и len(). В этом уроке вы...
DefParametersDefault valuesKeyword arguments*args and **kwargsReturn values+1 - 825 мин
Comprehensions
Вы уже умеете писать цикл for, который собирает новый список, словарь или множество по одному элементу. Включение (comprehension) - это способ...
List comprehensionsDict comprehensionsSet comprehensionsConditional expressionsGenerator expressionsReadability tradeoffs - 930 мин
Файлы и IO
Программа, которая только печатает в терминал, забывает всё в момент своего завершения. Следующий шаг, на котором Python внезапно становится...
Open with withReading linesWriting filesPathlib.PathJson readJson write - 1030 мин
Модули и пакеты (Modules and Packages)
До сих пор каждая программа жила в одном файле. Пока вы учитесь, это нормально, но настоящие проекты раскладывают код по многим файлам, чтобы каждый...
ImportFrom importWriting your own moduleIf __name__ == "__main__"Packages__init__.py - 1135 мин
Классы и OOP
Добро пожаловать к одной из крупных идей в Python. До сих пор вы придавали форму данным с помощью встроенных средств: строк, списков, словарей,...
Class definition__init__Instance attributesClass attributesMethods__repr__ - 1230 мин
Наследование и композиция
В уроке 10 вы строили классы с нуля. В настоящем коде классы редко живут поодиночке. Иногда один класс - это более частный вариант другого (Dog...
SubclassingSuper()Method overridingCompositionWhen to choose composition - 1330 мин
Обработка исключений
С ошибками вы уже знакомы. Каждый раз, когда вы опечатывались в имени, делили на ноль или просили у списка индекс, которого нет, Python...
TryExceptElseFinallyRaiseCustom exception classes+1 - 1430 мин
Итераторы и генераторы (Iterators and Generators)
Писать for item in something: вы умеете ещё с прошлых уроков. В этом уроке мы заглянем под капот и выясним, что Python на самом деле делает при...
Iterator protocolYieldGenerator functionsGenerator expressionsLazy evaluation - 1530 мин
Декораторы (Decorators)
Добро пожаловать в одну из самых хитрых тем Python. Декоратор - это небольшая обёртка, которую надевают на функцию, чтобы та получила чуть больше...
Functions are objectsWrapper functions@decorator syntaxFunctools.wrapsParametrized decorators - 1625 мин
Менеджеры контекста (Context Managers)
С возвращением. Начиная с урока 08 вы пишете with open(...) as f: и верите, что по завершении блока файл закроется. Этот урок вскрывает коробку. Вы...
With statement__enter__ and __exit__Writing your own context managerContextlib.contextmanager - 1740 мин
Конкурентность: потоки и асинхронность (Async)
С возвращением. До сих пор наши программы делали одно дело за раз, сверху вниз, и этого вполне хватало. Сложности начинаются тогда, когда программа...
GIL in plain languageConcurrent.futures.ThreadPoolExecutorAsyncio basicsAsync defAwaitWhen to use threads vs async - 1835 мин
Тестирование с pytest
С возвращением. До сих пор вы запускали код и глазами сверяли вывод. Для пары строк так работать можно, но стоит что-нибудь изменить, и всё...
Test functionsAssertRunning pytestParametrizeFixtures - 1935 мин
Упаковка и развертывание
До сих пор вы писали код на Python, который запускали только вы сами, набирая python something.py. Этот урок про небольшой и почти механический шаг,...
Pyproject.tomlPip install -eConsole scriptsBuilding a wheelPublishing to PyPI
Изучай Python на своём языке
Каждый урок, тест и ответ наставника показывается на вашем языке. AI-наставник отвечает на том языке, на котором вы пишете.
Roles that use Python
See how hiring teams interview engineers on Python, in production-like environments.
Senior Python Developer
Hire senior Python developers in real Django, FastAPI and Flask codebases with real load and real test suites. Live or take-home, fully recorded.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewData Engineer
Hire data engineers in workspaces with real Spark, dbt and Airflow pipelines. Schema drift, bad data and reruns included.
See the interview