我有一個 python 文件,其中包含我項(xiàng)目中所有其他類的所有默認(rèn)值# 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現(xiàn)在,在我看來,后一個版本效率不高,因?yàn)樗心撤N循環(huán)導(dǎo)入,如果我的主程序只使用一個文件(worker.py例如),它仍然必須導(dǎo)入所有其他文件(metric.py),因?yàn)閏onfig.py全部導(dǎo)入其中。有沒有更好的方法來實(shí)現(xiàn)這一目標(biāo)?我將所有默認(rèn)值移入的原因config.py是我需要定期對這些值進(jìn)行實(shí)驗(yàn)。將所有內(nèi)容放在一個地方幫助我不必記住要更改哪個文件。
添加回答
舉報(bào)
0/150
提交
取消