У __init__ первый параметр всегда self — это сам создаваемый объект.
class Hero:
def __init__(self, name, level):
Параметров три, а передаём два: Hero("Лина", 5). Почему?
Потому что self Python подставляет сам — он же знает, какой объект сейчас собирает.
Лина уходит в name, 5 — в level.
Запусти код кнопкой RUN и сравни вывод со своим прогнозом.
Вопрос: Почему в Hero("Лина", 5) два аргумента, если параметров три?
Объяснение:
- self — новый объект, его Python передаёт автоматически
- "Лина" → name, 5 → level
- self.name и self.level — атрибуты именно этого героя
- Hero.__init__(h, "Макс", 7) — то же самое, но self передали руками: герой переименован
ИИ-помощник закреплён справа внизу. Откройте чат и задайте вопрос по текущему уроку — контекст подставится автоматически.
- «Объясни, зачем нужен id()»
- «Почему не компилируется мой код?»
- «Дай подсказку без полного решения»