Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Можно простыми словами, что делает self и __init__ в Python и когда их нужно использовать?

ПрограммированиеPython
Никита Л.
  ·   · 696
Лучший
Разработчик ПО, ML, Data Science  · 25 авг 2021

init - метод, который используется при инициализации объекта класса. Например, у вас есть

class A:

def init(self, name, surname):

self.name = name

self.surname = surname

Затем далее вы где то хотите создать объект класса. Вы пишете:

obj = A('IVAN', 'IVANOV')

То есть вы обязаны передать значения имени и фамилии в конструктор.

self - позволяет обращаться к своим полям внутри класса. Например, далее в вышеуказанном классе у вас есть другой метод, который должен возвращать имя и фамилию для принта:

def namesurname(self):

return self.name + " "+self.surname

Использовать self и init необходимо при работе с ООП. При создании класса объявляете конструктор из полей, которые вы хотите инициализировать вместе с созданием экземпляра этого класса.

Ну и вот, встретил на просторах интернета:

dark‎: у котов внутри есть мурчалка

dark‎: она реализована для всех котов в классе кот

‎dark‎: в объекте кот надо как то вызвать метод мурчало у класса кот

‎dark‎: как ты это сделаешь?

dark‎: кот.мурчало()

‎dark‎: ежели ты вызовешь кот.мурчало(), муркнут сразу все коты на свете

‎dark‎: а ежели ты вызовешь self.мурчало(), муркнет только тот кот, на которого указывает self