我有一个 python 文件,其中包含我项目中所有其他类的所有默认值# config.pyDEFAULT_WORKER_TYPE = 'A'DEFAULT_METRIC_TYPE = 'euclid'...# worker.pyimport configclass Worker: def __init__(self, worker_type=config.DEFAULT_WORKER_TYPE): pass# metric.pyimport configclass Metric: def __init__(self, metric_type=config.DEFAULT_METRIC_TYPE): pass这工作正常,但后来我想使用Enumforworker_type和metric_type代替原始字符串以避免输入错误# config.pyfrom worker import WorkerTypefrom metric import MetricTypeDEFAULT_WORKER_TYPE = WorkerType.ADEFAULT_METRIC_TYPE = MetricType.EUCLID# worker.pyfrom enum import Enumimport configclass WorkerType(Enum): A = 'A' B = 'B'class Worker: # the same# metric.pyfrom enum import Enumimport configclass MetricType(Enum): EUCLID = 'euclid' MANHATTAN = 'manhattan'class Metric: # the same现在,在我看来,后一个版本效率不高,因为它有某种循环导入,如果我的主程序只使用一个文件(worker.py例如),它仍然必须导入所有其他文件(metric.py),因为config.py全部导入其中。有没有更好的方法来实现这一目标?我将所有默认值移入的原因config.py是我需要定期对这些值进行实验。将所有内容放在一个地方帮助我不必记住要更改哪个文件。
添加回答
举报
0/150
提交
取消