Объекты в Python
Классы, экземпляры, методы и состояние — постройте биграммную языковую модель, проектируя объекты, которые работают вместе
Уроки этого курса доступны после регистрации. Демо без аккаунта показывает механику платформы на примере задачи с роботом по алгоритмике.
Предсказание по биграммам
Пример показывает устройство урока. Чтобы решать задания, откройте курс после регистрации.
14 коротких уроков
По 7-10 минут: можно пройти за один подход или возвращаться по частям.
Интерактив вместо конспекта
Ученик решает задачу, проверяет ответ и видит объяснение следующего шага.
Спокойный старт
Демо платформы доступно без аккаунта. Для уроков выбранного курса и сохранения прогресса нужна регистрация.
Кому подойдёт курс «Объекты в Python»
Курс подходит школьникам, которые изучают программирование и cs, взрослым для восстановления базы и всем, кто хочет понять тему через практику, а не через заучивание правил.
Предсказание по биграммам
Как ИИ-модель угадывает следующее слово? Считаем пары соседних слов (биграммы) и предсказываем самое частое продолжение — от игрушечных наборов до случайного выбора при ничье.
Класс биграммной модели
Спроектируем класс `BigramModel`: какие данные он хранит, как использует `WordCounter` и какие методы — `train`, `predict_next`, `generate` — ему нужны, чтобы порождать текст.
Композиция классов
Реализуем BigramModel через композицию: модель хранит по одному WordCounter на каждое слово. Пишем метод train, накапливаем счётчики и обучаем модель на разных наборах.
После ответа ученик видит не только результат, но и следующий шаг рассуждения. Так ошибка становится частью обучения, а не тупиком.
Откройте шаг «Предсказание по биграммам» и выполните действие в модели.
Ошибка не заканчивает задание: она запускает объяснение на схеме.
Ученик видит идею на модели и переносит её в самостоятельное решение.
Маршрут курса
От первого понятия к самостоятельному применению темы «Объекты в Python».
Предсказание по биграммам
Как ИИ-модель угадывает следующее слово? Считаем пары соседних слов (биграммы) и предсказываем самое частое продолжение — от игрушечных наборов до случайного выбора при ничье.
Класс биграммной модели
Спроектируем класс BigramModel: какие данные он хранит, как использует WordCounter и какие методы — train, predict_next, generate — ему нужны, чтобы порождать текст.
Композиция классов
Реализуем BigramModel через композицию: модель хранит по одному WordCounter на каждое слово. Пишем метод train, накапливаем счётчики и обучаем модель на разных наборах.
Генерация текста
Дописываем BigramModel: методы predict_next (предсказать слово, при ничье — случайно) и generate (сцепить предсказания в текст). Разбираем KeyError для незнакомого слова и защищаемся от него.
Совместная работа классов
Собираем всё вместе: класс Agent получает BigramModel в качестве «мозга». Агент учится на данных, отвечает на запросы сгенерированным текстом, а разные агенты с разными «мозгами» отвечают по-своему.
Планирование и строки документации
Спроектируйте класс WordCounter для подсчёта слов: сначала спланируйте его атрибуты и методы и опишите их строками документации (docstring).
Построение состояния
Реализуйте класс WordCounter: заведите пустой словарь-атрибут и напишите метод-мутатор update_count, который наполняет состояние объекта, подсчитывая слова.
Чтение состояния
Добавьте классу WordCounter методы-аксессоры, которые сообщают о его состоянии: get_count, in_dataset, distinct_words, total_words — не меняя данных объекта.
Вспомогательные методы
Расширьте класс WordCounter методами, которые вызывают другие методы как вспомогательные: count_data, greatest_count, most_common_words, random_common_word — чтобы генерировать частые слова из набора данных.
Классы
Соберите настраиваемого ИИ-агента: от отдельных переменных — к классу Agent с конструктором __init__, атрибутами и несколькими экземплярами.
Экземпляры
У каждого экземпляра класса Agent свои атрибуты: меняйте стиль, добавляйте флаг премиум-тарифа и счётчик запросов — и убедитесь, что изменение одного экземпляра не затрагивает другие.
Методы
Дайте классу Agent поведение: методы с self — представиться, отчитаться о состоянии и обработать запросы, — чтобы объединить данные и действия в одном объекте.
Обновление атрибутов
Обновляйте атрибуты через методы класса: пишите make_direct, change_style с проверкой и add_queries — так класс сам контролирует изменения и защищает данные от недопустимых значений.
Входы и выходы методов
Метод respond принимает запрос и возвращает ответ: учитывает стиль и содержимое запроса, ведёт счётчик и ограничивает бесплатный тариф — потому что методы, как функции, умеют принимать аргументы и возвращать значения.
Нет перегруза: сначала основная идея, затем проверка понимания и самостоятельное применение.
Ученик сразу видит, где ошибся, и получает объяснение через схему.
Курс строится от первого знакомства с идеей к более самостоятельным задачам.
После регистрации можно продолжить курс и вернуться к сложным темам.
Думаем как программист
Основы алгоритмического мышления: последовательности, циклы, логика
Мышление на Python
Основы Python через чтение и анализ программ: переменные, условная и булева логика, циклы for и while, списки, словари, строки, вложенные и цепочечные условия, работа с данными, временная сложность и алгоритмы поиска.
Программирование с переменными
Создавайте цифровые изображения с помощью переменных, циклов и логики
Программирование с функциями
Учимся писать и переиспользовать функции на примере обработки изображений: фильтры пикселей и цветов, возврат значений, кортежи RGB, внутренние переменные, отладка, зависимости и композиция функций, несколько входных параметров.
Кому подойдёт курс «Объекты в Python»?
Курс рассчитан для первого знакомства с темой, а также на повторение и систематизацию знаний. Перед началом можно посмотреть механику платформы в общем демо по алгоритмике.
Как устроены уроки?
Уроки короткие: ученик выполняет действие, получает проверку и объяснение, а затем переходит к следующему шагу. Это помогает разобраться в логике темы постепенно.
Нужен ли взрослый рядом?
Для демо нет: задания содержат подсказки и обратную связь. Взрослый может подключиться, чтобы обсудить сложные места или посмотреть прогресс.
Что будет после регистрации?
Аккаунт нужен, чтобы сохранить прогресс, продолжить курс и вернуться к сложным заданиям. В демо карта и оплата не нужны.
Начните курс бесплатно
Создайте аккаунт, чтобы открыть уроки этого курса и сохранять прогресс.