如何创建全局引用的常量,修改一处即可同步所有引用位置?
如何通过常量统一管理重复引用的日期字符串?
可以通过定义全局常量或使用枚举类型实现一处修改、全局同步的效果,具体方案如下:
方案1:单独定义常量模块
- 创建专门的常量文件(比如
constants.py),把需要复用的日期字符串定义为常量:
# constants.py DATE_V20220101 = 'v20220101' DATE_V20220505 = 'v20220505'
- 在所有需要使用的代码文件中导入这些常量,替换原有的硬编码字符串:
from constants import DATE_V20220101, DATE_V20220505 CBOE_INDEX_START_DATES = { DATE_V20220101: _dt(2020, 7, 31), DATE_V20220505: _dt(2020, 7, 31)} random = {DATE_V20220101: 'Jason', ... } random2 = {'pat': DATE_V20220101, ...}
后续要修改日期字符串时,只需在constants.py中更新对应常量的值,所有引用处会自动同步生效,彻底避免遗漏。
方案2:使用枚举类型(更规范健壮)
如果需要管理的日期版本较多,推荐用Python的Enum枚举类型,能避免拼写错误,还能获得IDE自动提示:
- 在
constants.py中定义枚举类:
# constants.py from enum import Enum class DateVersion(Enum): V20220101 = 'v20220101' V20220505 = 'v20220505'
- 在代码中通过
.value属性调用枚举值:
from constants import DateVersion CBOE_INDEX_START_DATES = { DateVersion.V20220101.value: _dt(2020, 7, 31), DateVersion.V20220505.value: _dt(2020, 7, 31)} random = {DateVersion.V20220101.value: 'Jason', ... } random2 = {'pat': DateVersion.V20220101.value, ...}
枚举类型的优势在于,它会限定你只能使用预定义的日期版本,减少手动输入字符串时的错误,同时管理起来更清晰。
内容的提问来源于stack exchange,提问作者user21158996
相关产品推荐
相关产品推荐

