Как лучше реализовать класс для хранения переменных?
В моем проекта для хранения глобальных переменных я использую класс Config вида:
class Config:
# Colors
WHITE = Color(255, 255, 255)
STAR_COLOR = Color(255, 255, 17)
PLANET_COLOR = Color(0, 255, 0)
DARK_BLUE = Color(0, 6, 15)
TRANSPARENT = Color(0, 0, 0, 0)
BUTTON_GREEN = Color(47, 191, 113)
BUTTON_RED = Color(239, 45, 86)
# Window
WIDTH = 1280
HEIGHT = 720
WINDOW_SIZE = (WIDTH, HEIGHT)
FPS = 120
STABLE_FPS = 100
....
Правильный ли это поход? Может быть стоит переместить все переменные в __init__ и затем создать единственный экземпляр класса Config и в дальнейшем при импорте использовать именно экземпляр класса, а не сам класс?
Ответы (1 шт):
Автор решения: Universall
→ Ссылка
Не знаю насколько это правильный подход, но я бы для этой цели воспользовался модулем enum.
Пример:
import enum
class Colors(enum.Enum):
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
print(Colors.BLUE.value)
for i in Colors:
print(i.name)
print(i.value)
Вот статья с достаточно неплохим объяснением по этой теме.