我的模块使用了一些我觉得应该分组的常量。狗和猫都有一定数量的腿和喜爱的食物。
- 我只想对狗和猫的这些常量进行建模。
- 将来可能会有更多的动物。
- 这些常量不会在模块外部使用。
我考虑了以下几点:
模块级别的常量:
DOG_NUMBER_OF_LEGS = 4 DOG_FAVOURITE_FOOD = ["袜子", "肉"] CAT_NUMBER_OF_LEGS = 4 CAT_FAVOURITE_FOOD = ["千层面", "鱼"]
它们似乎没有分组,但这是我喜欢的解决方案。
类作为命名空间:
class Dog(object): NUMBER_OF_LEGS = 4 DOG_FAVOURITE_FOOD = ["袜子", "肉"] class Cat(object): NUMBER_OF_LEGS = 4 FAVOURITE_FOOD = ["千层面", "鱼"]
我不喜欢这个,因为它们是我不会使用但实际上可以实例化的类。
常量字典:
ANIMALS_CONFIG = { "DOG" : { "NUMBER_OF_LEGS" : 4, "FAVOURITE_FOOD" : ["袜子", "肉"] }, "CAT" : { "NUMBER_OF_LEGS" : 4, "FAVOURITE_FOOD" : ["千层面", "鱼"] } }
Animal
的类,其中包含dog
和cat
实例。 - syntonym