Вопрос по python - Общение Python мододелов

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

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

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



290170710_a1d7399c78584792804467d08c4dadc1_800.png

 
Регистрация
11 Ноя 2013
Сообщения
84
Репутация
-6
Спасибо
0
Монет
0
Потому что гладиолус
 
Регистрация
1 Апр 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
Не на экземпляры, а на самого себя
Через self идут обращения к собственным полям, свойствам и методам класса
 
Регистрация
28 Ноя 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
При вызове метода объекта первым параметром ВСЕГДА передаётся сам объект, для которого этот метод вызван. Потому, ЛЮБОЙ метод класса обязан содержать минимум один параметр. У тебя же методы вообще без параметров, что и вызывает ошибку.

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

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