Объяснение self в python:
dark: у котов внутри есть мурчалка
dark: она реализована для всех котов в классе кот
dark: в объекте кот надо как то вызвать метод мурчало у класса кот
dark: как ты это сделаешь?
dark: кот.мурчало()
dark: ежели ты вызовешь кот.мурчало(), муркнут сразу все коты на свете
dark: а ежели ты вызовешь self.мурчало(), муркнет только тот кот, на которого указывает self