170 похожих чатов

Ребят, чем отличаются self.object и self.get_object()? Читаю доку и кажется

что это одно и то же, нет? То есть текущий объект

13 ответов

62 просмотра

self.object это результат выполнения self.get_object()

Kaia- Автор вопроса

А можете попроще объяснить? А то не очень понятно

get - получить object - объект

что не понятно? есть атрибут - объект, его надо как-то получить, для это есть метод - получить объект, если вызвать этот метод - получаешь объект

Посмотри в исходник - поймёшь.

self.object - это аттрибут self.get_object() - это метод-геттер класса примерно с такой логикой: def get_object(self): return self.object

Kaia- Автор вопроса

Благодарю

Зачем так делать, и не вызвать на прямую?

что вызвать на прямую? каждый раз вычислять значение когда нуже объект?

Тут нужно понимание принципов ООП, достаточно серьезный вопрос. Но для примера могу привести вот такую штуку Ты отнаследовался от этого класса, а твой object используется во внутренних методах родительского класса. А в классе-наследнике, например, перед тем как выполнялся бы какой-нибудь другой метод, тебе нужно в object засунуть extra-дату, какой-нибудь словарь. И ты переопределяешь get_object в дочернем классе

В принципе, ясно. Ты можешь менять значения object , а не просто возвращать его

а это где такое? во вьюхе?

Kaia- Автор вопроса

Да

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта