我正在开展一个大型项目,首先收集有关需要完成的工作的信息。然后,大部分信息需要传递到计算器中。
目前,这是通过一个大型字典完成的,该字典从一个函数传递到另一个函数,并且没有任何规则地添加新密钥。结果是没有人知道该词典中的内容和内容。
在python中有什么更好的方法呢?还有哪些可行的选项可以将数据传递给端点,但是采用更结构化的方式,以便只允许在字典中设置某些键并且只能具有某些值?
这是我的意思的一个例子:
1
答案 0 :(得分:0)
事实证明,具有属性的单身人士可能是最好的方式: """包含可以在需要的地方实例化的配置类"""
class Singleton(type):
def __init__(cls, name, bases, dict):
super(Singleton, cls).__init__(name, bases, dict)
cls.instance = None
def __call__(cls, *args, **kw):
if cls.instance is None:
cls.instance = super(Singleton, cls).__call__(*args, **kw)
return cls.instance
class Configuration(object):
__metaclass__ = Singleton
def __init__(self):
self.mode = None
self.system = None
然后可以在需要的地方导入并实例化和编辑配置,并且它将保持其状态。