Данный класс Python, который будет создан только один раз, то есть будет только один объект класса. Мне было интересно, в каких случаях имеет смысл создавать отдельный экземпляр класса, а не работать непосредственно с классом.
Есть похожий вопрос , но он имеет другую направленность:
- речь идет о группировании глобальных переменных и функций в класс и
- Это не специфично для Python. Последнее означает, что оно не учитывает тот факт, что (в Python) классы также являются объектами.
ОБНОВИТЬ:
В Python я могу делать следующее как с классами, так и с объектами:
class A(object):
pass
A.some_state_var = True
# Then later
A.some_state_var = False
my_a = A()
my_a.some_state_var = True
# Then later
my_a.some_state_var = False
Поэтому я не вижу, как выбор между классом и экземпляром этого класса зависит от состояния (в Python). Я могу поддерживать состояние с любым из двух.
Кроме того, мотивация для создания моего экземпляра класса / класса не сводится к выполнению требования Singleton.
Кроме того, речь идет не столько о создании нового типа.
Мотивация состоит в том, чтобы сгруппировать связанный код и данные и иметь к ним интерфейс. Вот почему я изначально смоделировал его как класс в диаграмме классов. Только когда дело дошло до реализации, я начал задаваться вопросом, создавать ли экземпляр этого класса или нет.