Группировка констант в Python ⇐ Python
-
Гость
Группировка констант в Python
Мой модуль использует константы, которые, по моему мнению, следует сгруппировать. У собаки и кошки разные ноги и любимая еда.
[*]Я не хочу моделировать ничего, кроме констант, касающихся собак и кошек. [*]Возможно, в будущем у меня будет больше животных. [*]Эти константы не будут использоваться вне модуля.
Я подумал о:
[*]
Константы на уровне модуля:
DOG_NUMBER_OF_LEGS = 4 DOG_FAVOURITE_FOOD = ["Носки", "Мясо"] CAT_NUMBER_OF_LEGS = 4 CAT_FAVOURITE_FOOD = ["Лазанья", "Рыба"] Кажется, они не сгруппированы, но я предпочитаю именно такое решение.
[*]
Классы как пространства имен:
класс Dog(объект): NUMBER_OF_LEGS = 4 DOG_FAVOURITE_FOOD = ["Носки", "Мясо"] класс Cat(объект): NUMBER_OF_LEGS = 4 FAVOURITE_FOOD = ["Лазанья", "Рыба"] Мне это не нравится, поскольку я не буду использовать эти классы, но их экземпляры можно создать.
[*]
Словарь констант:
ANIMALS_CONFIG = { "СОБАКА" : { «NUMBER_OF_LEGS»: 4, "FAVOURITE_FOOD": ["Носки", "Мясо"] }, "КОТ" : { «NUMBER_OF_LEGS»: 4, "FAVOURITE_FOOD": ["Лазанья", "Рыба"] } } Я также думал о добавлении подмодулей, но не хочу раскрывать эти внутренние константы. Какой самый питонический способ или как бы вы это сделали?
Мой модуль использует константы, которые, по моему мнению, следует сгруппировать. У собаки и кошки разные ноги и любимая еда.
[*]Я не хочу моделировать ничего, кроме констант, касающихся собак и кошек. [*]Возможно, в будущем у меня будет больше животных. [*]Эти константы не будут использоваться вне модуля.
Я подумал о:
[*]
Константы на уровне модуля:
DOG_NUMBER_OF_LEGS = 4 DOG_FAVOURITE_FOOD = ["Носки", "Мясо"] CAT_NUMBER_OF_LEGS = 4 CAT_FAVOURITE_FOOD = ["Лазанья", "Рыба"] Кажется, они не сгруппированы, но я предпочитаю именно такое решение.
[*]
Классы как пространства имен:
класс Dog(объект): NUMBER_OF_LEGS = 4 DOG_FAVOURITE_FOOD = ["Носки", "Мясо"] класс Cat(объект): NUMBER_OF_LEGS = 4 FAVOURITE_FOOD = ["Лазанья", "Рыба"] Мне это не нравится, поскольку я не буду использовать эти классы, но их экземпляры можно создать.
[*]
Словарь констант:
ANIMALS_CONFIG = { "СОБАКА" : { «NUMBER_OF_LEGS»: 4, "FAVOURITE_FOOD": ["Носки", "Мясо"] }, "КОТ" : { «NUMBER_OF_LEGS»: 4, "FAVOURITE_FOOD": ["Лазанья", "Рыба"] } } Я также думал о добавлении подмодулей, но не хочу раскрывать эти внутренние константы. Какой самый питонический способ или как бы вы это сделали?
Мобильная версия