我总是被发现有类。在某些情况下,我不得不说的主要是因为自动补全系统。
这是“类结构”类的情况,因此即使您不记得它们的名称,也可以轻松地使用点语法访问成员。我还自己创建了一个“ DataContainer”类,我认为它非常易于使用。
以便您可以这样做
X = DataContainer()
X.a = 1
X.b= 4
或等效地
Y = DataContainer(a = 1,b = 4)
我知道应该有一个命名元组类,但是我发现它比我的类差。
当然您可以使用字典。Y = dict()Y ['a'] = 1等等...
和摩擦来了!
哪个选择?
有什么区别?当遇到实际问题时,当涉及更多涉及的设计解决方案时,是否有任何指南可能会有所帮助?到目前为止,我一直使用类,但是我意识到它们通常需要更多维护。原则上,DataContainer类不应作为结构。但是“嘿”,我告诉自己,python有字典...也许就是这样...
以失去自动完成的代价。
示例
我有一个名为Investigator
的类,它能够执行Task1,Task2,Task3。每个任务都有一组不同的参数:Task1-> a,b;任务2-> a,c;任务3-> d。您将用什么来存储它们?
Settings.a
Settings.b
Settings.c
etc
Settings['a']
Settings['b']
Settings['c']
or what else?
SettingsTask1.a
Settings.Task1.a
Settings['Task1']['a']
或其他?
谢谢您的贡献!
麦克
字典只是命名属性的集合。如果要“规范化”对象并添加行为,请使用类。如果您希望系统更轻松地扩展并确保这些对象具有相同的属性,则可以使用类。请注意,Python现在有可用的数据类,它们听起来很适合您的用例:https://docs.python.org/3.7/library/dataclasses.html