作为一名生物学本科生,我经常编写python软件以进行一些数据分析.一般结构总是:
有一些数据要加载,执行分析(统计,聚类......),然后可视化结果.
有时对于同一个实验,数据可以采用不同的格式,您可以采用不同的方式对其进行分析,并且可能的不同可视化可能与否取决于所执行的分析.
我正在努力寻找一种通用的"pythonic"和面向对象的方式,以使其清晰易读.应该很容易添加新类型的动作或对现有动作做一些细微的变化,所以我相信我应该用oop做到这一点.
我已经做了一个数据对象与方法来加载实验数据.如果我有多个数据源以覆盖加载函数,我打算创建继承类.
在那之后...我不确定.我应该为每种类型的分析做一个带有子类的Analysis抽象类(并使用它们的属性来存储结果),并使用包含Data实例和多个Analysis和Visualization实例的一般Experiment对象对Visualization执行相同的操作吗?或者可视化是否应该将Analysis和/或Data对象作为参数来构建图?有更有效的方法吗?我错过了什么吗?