Python 在对象之间共享参数

Python 在对象之间共享参数,python,python-2.7,Python,Python 2.7,我正在构建一个程序,在一个数据集上运行几个不同的分析。不同类型的分析都由不同类型的分析工具对象表示(例如“AnalysisType1”和“AnalysisType2”)。分析工具共享许多相同的参数。该程序由GUI操作,其中所有参数由用户设置。我想弄明白的是,在程序的所有组件之间共享参数的最优雅/最好的方式是什么。我可以想到的选择包括: 将所有参数保留在GUI中,并在执行时传递给每个分析工具 在每个工具中保留参数,并在GUI中每次更改时更新所有工具中的参数。然后,无论何时执行分析,它们都准备好了

我正在构建一个程序,在一个数据集上运行几个不同的分析。不同类型的分析都由不同类型的分析工具对象表示(例如“AnalysisType1”和“AnalysisType2”)。分析工具共享许多相同的参数。该程序由GUI操作,其中所有参数由用户设置。我想弄明白的是,在程序的所有组件之间共享参数的最优雅/最好的方式是什么。我可以想到的选择包括:

  • 将所有参数保留在GUI中,并在执行时传递给每个分析工具
  • 在每个工具中保留参数,并在GUI中每次更改时更新所有工具中的参数。然后,无论何时执行分析,它们都准备好了
  • 创建包含所有组件的所有参数的ParameterSet对象。为每个需要它的组件提供对此ParameterSet对象的引用,并在GUI中更改其参数时更新其参数

  • 我已经试过了#1,然后是#2,随着复杂性的增加,我正在考虑转移到#3。有什么理由不采用这种方法吗?

    为所有具有公共属性(可能是静态)和方法的分析创建一个父类怎么样


    这样,当您实现一个新的AnalysisType时,您将继承所有参数,并且可以在一个地方更改它们。

    谢谢。这可能是个好办法。这种方法被认为是“pythonic”的吗?它被认为是面向对象的。您正在使用对象,因此这应该是您的方法。