Вопрос Вопрос по python

Регистрация
15 Июн 2013
Сообщения
64
Репутация
0
Спасибо
0
Монет
0
Для чего используется self?

У него чисто одно предназначение , ссылаться на экземпляры? почему



290170710_a1d7399c78584792804467d08c4dadc1_800.png

 
Потому что гладиолус
 
Не на экземпляры, а на самого себя
Через self идут обращения к собственным полям, свойствам и методам класса
 
При вызове метода объекта первым параметром ВСЕГДА передаётся сам объект, для которого этот метод вызван. Потому, ЛЮБОЙ метод класса обязан содержать минимум один параметр. У тебя же методы вообще без параметров, что и вызывает ошибку.

Точечная нотация - не более, чем синтаксический сахар. Когда мы пишем: s.replace('b', 'Q').replace('c', 'R') в действительности происходит вызов метода класса str: str.replace(str.replace(s, 'b', 'Q'), 'c', 'R') И так происходит при вызове любых методов любых объектов.

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