from __future__ import annotations from dataclasses import dataclass, field @dataclass class Tribe: name: str level: str students: list[Student] = field(default_factory=list) def register_student(self, student: Student): self.students.append(student) @dataclass class Student: def __init__(self, id: str, name: str, tribe: Tribe) -> None: self.id = id self.name = name self.tribe = tribe self.tribe.register_student(self) def __eq__(self, other: object) -> bool: if isinstance(other, Student): return self.id == other.id return False