是否存在定义全部月份常量的Python标准模块?
关于Python标准模块中月份常量的疑问
calendar模块定义了星期几的常量,例如MONDAY(0)、TUESDAY(1)等。此外,它的源代码中定义了(但未导出)January(1)和February(2)的常量,但没有定义其余月份的常量。
虽然可以自行在模块中补充这些定义,但这类需求较为常见,因此产生疑问:是否存在定义所有月份常量的Python标准模块?
解答
Python标准库中没有专门导出所有月份数值常量的模块。不过可以通过以下方式实现类似需求:
- 使用
calendar模块的month_name或month_abbr属性获取月份名称列表,例如calendar.month_name[1]对应"January",calendar.month_name[12]对应"December" - 自行定义月份常量,比如:
JANUARY = 1 FEBRUARY = 2 MARCH = 3 APRIL = 4 MAY = 5 JUNE = 6 JULY = 7 AUGUST = 8 SEPTEMBER = 9 OCTOBER = 10 NOVEMBER = 11 DECEMBER = 12 - 结合
enum模块创建月份枚举类,增强可读性:from enum import IntEnum class Month(IntEnum): JANUARY = 1 FEBRUARY = 2 MARCH = 3 APRIL = 4 MAY = 5 JUNE = 6 JULY = 7 AUGUST = 8 SEPTEMBER = 9 OCTOBER = 10 NOVEMBER = 11 DECEMBER = 12
内容的提问来源于stack exchange,提问作者Juan A. Navarro
相关产品推荐
相关产品推荐

