在python模块中强制执行方法顺序

sha*_*and 2 python oop singleton

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

例如,我有一个XML配置,在执行任何其他操作之前必须先读取,因为配置会影响行为.在parse_config()必须先调用所提供的配置文件.调用其他支持方法之后query_data()才会parse_config()调用.

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

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

编辑:值得注意的是该功能实际上是parse_config(configfile)

Cat*_*lus 7

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

  • @shadowland:全球状态不好.依赖于神奇咒语的全球状态是双坏的. (6认同)
  • @shadowland:然后创建一次对象.明确依赖关系不是针对DRY的.它具有使代码更通用的自动优势. (3认同)