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

Если мне нужно использовать методы класса, можно вызывать методы через

объект этого класса. Но иногда встречаются примеры кода, где в нужном классе упоминается функция @classmethod get_instance(cls, *args). И получают уже через эту функцию инстанс класса. Сам вопрос, в каких случах необходимо использовать эту функцию для получения инстанса? Что простое получение объекта object = A() не трушный способ?

12 ответов

24 просмотра

Это нужно что сделать что-то с самым классом (аттрибуты, методы), то есть изменение повлияет на самого класса и на всех инстансов этого класса (+ наследованных классов, если не ошибаюсь) class A: DEBUG = False @classmethod def change_mode(cls, flag: bool) -> None: cls.DEBUG = flag def main(self) -> Any: if self.DEBUG: print('Started:', self)

Егор- Автор вопроса
Nodiru Gaji
Это нужно что сделать что-то с самым классом (аттр...

Ты можешь и через a= A() обратиться к сеттеру, поменять атрибут класса. Тема не раскрыта

Егор
Ты можешь и через a= A() обратиться к сеттеру, пом...

При создание инстанса делается новый объект. Сеттер менять только для созданного инстанса

Егор- Автор вопроса
Nodiru Gaji
При создание инстанса делается новый объект. Сетте...

Ну создал один раз объект другого класса, с ним работаешь

Егор
Ну создал один раз объект другого класса, с ним ра...

Котик, я же привела пример. Возможно вам никогда не понадобится сделать что-то с Главным классом.

Егор
Ну создал один раз объект другого класса, с ним ра...

О, другой пример (не очень но). Что если войска (наследуют, проверяют) состояние главнокомандующего, и они будут биться пока главнокомандующий жив ?!

Егор- Автор вопроса
Nodiru Gaji
О, другой пример (не очень но). Что если войска (н...

Ну один раз мы получили объект класса главкома, через какой нить DI фреймворк или словарь истантсов. Далее с помощью геттера получаем и чекаем состояние главкома

Егор
Ну один раз мы получили объект класса главкома, че...

Ну Котик... (не была права насчёт setattr, думала что вы про instance.DEBUG = '') Но так не делаются метаклассы, сложные системы и архитектуры (но мысл стоящая)

Егор
Ну один раз мы получили объект класса главкома, че...

Какие DI фреймворки можете порекомендовать?

Ок, (Я только Singleton использовал разок)

Егор- Автор вопроса

Есть идеи в каких случаях нужен classmethod с гет инстансом ?

Я так форму с фильтром сделал для фласка, чтобы фильтр сохранил значение при переходе на другие страницы фильтрованных данных (но с воркерами всё ломается)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта