【发布时间】:2018-09-15 09:52:23
【问题描述】:
我有一些常量(它们类似于错误代码)。
#errors
ERR_ROW_NUM = 1
ERR_COL_NUM = 2
ERR_NUM = 3
#incorrect
INCOR_ROW = 4
INCOR_COL = 5
INCOR_BOX = 6
#warning
WAR_HEAT = 7
WAR_PROCESS = 8
数字是“随机”分配的,无关紧要(重要的是它是唯一的)。然后我有一个将常量与错误消息相关联的字典(见下文)
MSG = {
ERR_ROW_NUM:"incorrect number of row",
ERR_COL_NUM:"incorrect number of column",
ERR_NUM:"an incorrect number in tile detected",
INCOR_ROW:"repeated number in a row",
INCOR_COL:"repeated number in a column",
INCOR_BOX:"repeated number in a small box",
WAR_HEAT:"some kind of warning message",
WAR_HARD:"the computer might not be able to handle this",
}
如您所见,常量可以分为以下几类:error、incorrect 和 warning。
让我们说一个函数generate() 常量之一。如何仅从唯一的常数编号确定常数的“类别”?
我的目标是能够做这样的事情:
output = generate()
category = #somehow get the category from the constant number
print "[ %s ] %s" % (category.upper(), MSG[output].capitalize())
所以如果函数generate()的输出是3,那么它会打印出来:
[ ERROR ] An incorrect number in tile detected
【问题讨论】:
-
我会研究
enum模块。这在 python2.7 中不可用,但有可用的反向端口。
标签: python python-2.7 constants categories