oop - 在 Python 模块中强制执行方法顺序

标签 oop singleton python

<分区>

处理必须按特定顺序调用方法的模块的最 Pythonic 方式是什么?

例如,我有一个 XML 配置,必须在执行任何其他操作之前读取它,因为该配置会影响行为。

必须先使用提供的配置文件调用 parse_config()。在调用 parse_config() 之前,调用其他支持方法(如 query_data())将不起作用。

我首先将其实现为 singleton以确保在初始化时传递配置的文件名,但我注意到模块实际上是单例。它不再是一个类,而只是一个常规模块。

强制在模块中首先调用 parse_config 的最佳方法是什么?

值得注意的是,该函数实际上是parse_config(configfile)

最佳答案

如果对象在调用之前无效,则在 __init__ 中调用该方法(或使用工厂函数)。你不需要任何愚蠢的单例,这是肯定的。

关于oop - 在 Python 模块中强制执行方法顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7906187/

相关文章:

java - 我们可以通过非私有(private)的instanceName来创建一个Singleton类吗?

python - curve_fit、python和excel之间的幂律回归问题

python - Pandas 数据框中按键列分组的连续空值的计数

javascript - Typescript 和 Javascript ES6、ES.NEXT 类构造函数参数对比

java - 如何将任意数据与Java中的对象相关联

java - 我们可以通过哪些不同的方式打破 Java 中的单例模式

python - 在 pandas 中合并数据框中的列的问题

c++ - 初始化列表、局部变量与数据成员

java - 覆盖字段初始化

objective-c - 保留您访问过的单例有什么意义?