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

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

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

12 ответов

11 просмотров

Это нужно что сделать что-то с самым классом (аттрибуты, методы), то есть изменение повлияет на самого класса и на всех инстансов этого класса (+ наследованных классов, если не ошибаюсь) 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 с гет инстансом ?

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

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

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

#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Карта сайта