← маршрут 1–48 · личный кабинет
Занятие 39. Классы: Hero
Перед началом
Что открыть: Открой рабочую версию проекта после занятия 38. Демонстрационный lesson-39.py используй как отдельный маленький пример.
Исходные данные: Начни с значений из минимального примера. Творческие изменения выполняй только после базовой проверки.
Что нужно понять
Занятие 39 посвящено теме «Классы: Hero». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Раньше герой был словарём. Класс Hero объединяет те же данные и действия в отдельном объекте. class Hero — описание того, какие данные и действия будут у героев. Hero(...) — создание отдельного героя. __init__ — метод, который задаёт начальные данные при создании объекта. self — тот конкретный объект, с которым сейчас работает метод; self.hp — его здоровье.
Минимальный пример
class Hero:
def __init__(self,name,hp):
self.name=name; self.hp=hp
hero1=Hero("Лея",10)
hero2=Hero("Рин",7)
hero1.hp=max(0,hero1.hp-3)
print(hero1.name,hero1.hp)
print(hero2.name,hero2.hp)Скачать демонстрационный .py-файл
Практика
Создай hero1=Hero('Лея',10) и hero2=Hero('Рин',7). Уменьши hp только hero1 на 3 и выведи обоих.
Связь с проектом: После базового упражнения перенеси изученный приём в рабочую версию проекта и сохрани версию после занятия 39.
Критерий проверки
После изменения hero1.hp=7, hero2.hp остаётся 7. Объекты независимы.
Как проверить: До изменения: Лея 10, Рин 7. После: Лея 7, Рин 7.
Что сдать
Сдай рабочую версию проекта после занятия 39 и короткий протокол проверки: входные данные → ожидалось → получилось.
Если нужна поддержка: Если задача не запускается целиком, выполни один шаг отдельно и объясни, что должно измениться до следующего шага.
Типичное затруднение
Типичная ошибка — забытый self в методе или обращение к hp без self.
Домашняя часть
Добавь Hero вторую характеристику, создай двух героев и покажи независимость их состояния.
После базы: Добавь метод take_damage и проверь нижний предел hp.
Если появилась ошибка
Traceback — сообщение Python об ошибке. Сначала прочитай его последнюю строку и найди номер строки своего файла. Повтори только тот маленький шаг, на котором возникла ошибка; после исправления снова запусти тот же проверочный случай. Если используешь ИИ, сохрани собственную попытку и попроси одну подсказку, а не готовое решение.