You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

常量分类及类别判定需求:针对自定义错误码类常量

常量分类与类别判定实现方案

首先咱们把现有常量按给定的分类整理清楚,方便后续管理和判定:

1. 错误类(errors)

这类常量对应基础的数值错误,代码定义如下:

# errors
ERR_ROW_NUM = 1
ERR_COL_NUM = 2
ERR_NUM = 3

2. 输入错误类(incorrect)

这类对应具体位置(行/列/框)的输入错误,定义:

# incorrect
INCOR_ROW = 4
INCOR_COL = 5
INCOR_BOX = 6

3. 警告类(warning)

这类是非致命的警告提示,定义:

# 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 ..."
}

类别判定功能实现

接下来写个实用的Python函数,快速判定常量所属类别,还能顺便取出对应的错误信息(如果有的话):

# 把每个类别的常量归类到集合里,集合查询效率更高
ERRORS = {ERR_ROW_NUM, ERR_COL_NUM, ERR_NUM}
INCORRECTS = {INCOR_ROW, INCOR_COL, INCOR_BOX}
WARNINGS = {WAR_HEAT, WAR_PROCESS}

def classify_constant(constant):
    """判定常量所属类别,返回类别名称和对应错误信息"""
    if constant in ERRORS:
        category = "errors"
        msg = MSG.get(constant, "No message available")
    elif constant in INCORRECTS:
        category = "incorrect"
        msg = MSG.get(constant, "No message available")
    elif constant in WARNINGS:
        category = "warning"
        msg = MSG.get(constant, "No message available")
    else:
        category = "unknown"
        msg = "Unknown constant"
    return {"category": category, "message": msg}

# 测试示例
print(classify_constant(ERR_ROW_NUM))  # 输出: {'category': 'errors', 'message': 'incorrect number of row'}
print(classify_constant(INCOR_BOX))    # 输出: {'category': 'incorrect', 'message': 'No message available'}
print(classify_constant(WAR_HEAT))     # 输出: {'category': 'warning', 'message': 'No message available'}

功能说明

  1. 分类集合:用集合存储每个类别的常量,成员查询是O(1)复杂度,比列表高效很多;
  2. 判定逻辑:通过分支判断常量所属集合,同时从MSG字典提取对应信息,无匹配时返回默认提示;
  3. 扩展性:后续新增常量或类别,只需往对应集合添加元素、补充MSG字典即可,非常灵活。

内容的提问来源于stack exchange,提问作者Programer Beginner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:07:24