Перейти к основному содержимому
eLearner.app

Интерактивный курс

Курс Python

Изучите Python с нуля на английском языке с помощью CPython, скомпилированного в WebAssembly: ваш код запускается прямо в браузере.

01 · Модуль 1 — Основы языка

4 уроков

Основы: объявление переменных, распознавание типов, выполнение арифметических действий, принятие решений и вывод на консоль.

  1. 1.1Переменные и типыДайте имя значению, определите тип с помощью type(), познакомьтесь с int / float / str / bool / None.~10 min
  2. 1.2ОператорыАрифметика (включая // и **), сравнение, булева логика с и/или/нет, приоритет.~10 min
  3. 1.3Условные обозначения: if, elif, elseЗапускайте другой код в зависимости от условия; роль отступа.~10 min
  4. 1.4Печать и f-стрингиprint() для отображения значений, f-строки для составления текста с интерполяцией `{var}`.~8 min

02 · Модуль 2 — Поток управления

4 уроков

Повторяйте, прыгайте, обрабатывайте ошибки: конструкции, которые заставляют программу реагировать на данные и проблемы.

  1. 2.1для петель и диапазонаПеребрать последовательность с помощью for, сгенерировать числовые диапазоны с помощью range(start, stop, Step).~10 min
  2. 2.2пока циклыПовторяйте, пока условие сохраняется; когда предпочесть, пока закончилось.~8 min
  3. 2.3перерыв, продолжение и еще в циклахВыйдите из цикла раньше, пропустите итерацию, используйте своеобразный оператор for…else.~10 min
  4. 2.4Обработка ошибок: попробовать/исключитьПерехватывайте конкретные исключения, разделяйте try/Exception/else/finally, выявляйте ошибки с помощью метода raise.~12 min

03 · Модуль 3 — Структуры данных

4 уроков

Четыре встроенные коллекции: list (изменяемая последовательность), tuple (неизменяемая последовательность), dict (карта значений ключа) и set (коллекция уникальных элементов).

  1. 3.1СпискиСоздание, доступ по индексу и срезу, добавление и удаление, сортировка. Последовательность, которую вы будете использовать чаще всего.~12 min
  2. 3.2Кортежи и распаковкаНеизменяемые последовательности, упаковка и распаковка, замена без временной переменной, * для остального.~10 min
  3. 3.3Словарикарты ключ → значение, доступ с помощью [] и .get, перебор ключей/значений/элементов, dict.setdefault.~12 min
  4. 3.4НаборыКоллекции уникальных элементов, операции над множествами (& | - ^), проверка принадлежности O(1).~10 min

04 · Модуль 4 — Строки и числа

4 уроков

Работайте с текстом (методы, нарезка) и числами (математика, преобразование типов) идиоматически.

  1. 4.1Строковые методыНаиболее часто используемые методы: верхний/нижний, полоса, разделение/объединение, замена, начинается/заканчивается, поиск/входит.~12 min
  2. 4.2Нарезка и индексированиеПоложительные и отрицательные индексы, срез [начало:стоп:шаг], обращение строки, подстроки.~10 min
  3. 4.3Числа и математический модульint, float, истинное или целочисленное деление, % по модулю, абс/раунд/мин/макс, math.sqrt, math.pi.~10 min
  4. 4.4Преобразования типовint(), float(), str(), bool(): явное приведение типов, анализ входных данных, достоверность значений.~10 min

05 · Модуль 5 — Функции

4 уроков

Определяйте функции с помощью def, возвращайте значения, управляйте параметрами по умолчанию, *args/**kwargs и лямбда-выражениями.

  1. 5.1защита и возвращениесинтаксис def, возврат (явный и неявный None), позиционные параметры, строка документации.~12 min
  2. 5.2Параметры по умолчанию и ключевые словаЗначения по умолчанию, вызовы с ключевыми аргументами, порядок позиционирования перед ключевым словом, изменяемая ошибка по умолчанию.~12 min
  3. 5.3*args и **kwargsФункции с переменными аргументами: *args собирает позиционные значения, **kwargs собирает ключевые слова. Распакуйте на месте вызова.~12 min
  4. 5.4Лямбда и функции высшего порядкаАнонимные функции с лямбда-выражениями, используйте с sorted/max/min, когда предпочтительнее def, sorted(..., key=...).~10 min

06 · Модуль 6 — Понимание и итерация

4 уроков

Понимания списков/диктовок/наборов, выражения-генераторы и основные инструменты модуля itertools.

  1. 6.1Понимание спискаСинтаксис [выражение для x в iter if cond], преобразование, фильтрация, вложенность.~12 min
  2. 6.2Диктовка и понимание множествСинтаксис {k: v for ...} и {x for ...} для декларативного построения диктов и наборов.~10 min
  3. 6.3Генераторное выражениеСинтаксис (... for... in...), ленивая итерация, постоянная память, sum/any/all на генераторах.~10 min
  4. 6.4Основные инструменты itertoolsНаиболее часто используемые функции: перечисление, застегивание, цепочка, подсчет, повтор, комбинации.~12 min

07 · Модуль 7 — Классы и модули

4 уроков

Объектно-ориентированное программирование на Python: классы, наследование, специальные методы (дандер), импорт и организация модулей.

  1. 7.1Классы и экземплярыкласс, __init__, атрибуты и методы экземпляра, self, атрибуты класса и экземпляра.~14 min
  2. 7.2НаследованиеПодклассы, super(), переопределение метода, isinstance, базовый MRO.~12 min
  3. 7.3Специальные методы (дандер)__str__, __repr__, __eq__, __len__: интегрируйте свои объекты с языком.~12 min
  4. 7.4импорт и модулиимпорт, из ... импорт, псевдоним как, организация модуля, если __name__ == "__main__".~10 min

08 · Модуль 8 — Основная стандартная библиотека

4 уроков

Стандартные библиотечные модули, с которыми вы встретитесь каждый день: json, datetime, Collections, re.

  1. 8.1JSON: сериализация и анализjson.dumps / json.loads, сопоставление типов Python ↔ JSON, отступ, sort_keys, по умолчанию.~10 min
  2. 8.2datetime: даты и времяdatetime.now(), дата/время/дата-время/timedelta, форматирование с помощью strftime, синтаксический анализ с помощью strptime, арифметика.~12 min
  3. 8.3коллекции: Counter и defaultdictСчетчик для подсчета, defaultdict для автоинициализируемых диктовок, названныйtuple как облегченная запись.~12 min
  4. 8.4модуль re: регулярное выражение в Pythonre.search/re.match/re.findall/re.sub, флаги, необработанные строки r"...", именованные группы.~12 min

09 · Модуль 9 — Современный Python: практика

4 уроков

Современные практики Python: подсказки типов, классы данных, менеджеры контекста и декораторы. Код, который вы напишете в 2025 году.

  1. 9.1Подсказки по типам: типы аннотацийАннотации к параметрам и возврату, list[int]/dict[str, int], необязательно, Union, примечание к mypy.~12 min
  2. 9.2dataclass: классы данных без шаблона@dataclass, поле(default_factory=...), замороженное=True, эквивалент __init__/__repr__/__eq__.~12 min
  3. 9.3Менеджер контекста: с помощью и __enter__/__exit__с open(...), написание собственного контекстного менеджера с помощью __enter__/__exit__, contextlib.contextmanager.~12 min
  4. 9.4Декораторы: функции, которые изменяют функции.Функции высшего порядка, синтаксис @decorator, functools.wraps, пример @timeit.~14 min