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

如何解决Pylint触发R0903 too-few-public-methods报错问题

Pylint R0903: too-few-public-methods 报错修复

报错触发原因

Pylint的设计规范检查中,too-few-public-methods规则默认要求普通类至少包含2个公开方法,你定义的A类只有1个公开静态方法r(),没达到默认阈值,所以触发告警。
另外你提供的待检测代码本身存在语法错误:query字典定义行{"get_data": {"$sum": 1)}中,1后面多写了一个右括号,正确写法应为{"get_data": {"$sum": 1},否则代码运行时会直接抛出SyntaxError。

修复方案

根据你这个类的实际设计目的,选对应方案处理即可:

  • 如果这个类本身就只需要这一个方法,没有后续加方法的计划
    可以直接在类定义行加Pylint忽略注释,跳过这条规则对当前类的检查,示例:
    class A:  # pylint: disable=too-few-public-methods
        @staticmethod
        def r():
            query = {"get_data": {"$sum": 1}, "value": True}
    
    要是这个类只是为了封装单个静态方法,完全没必要保留类结构,直接把r()改成模块级的普通函数就行,从根源上不会触发类相关的检查规则。
  • 如果类还在开发阶段,后续会补充其他公开方法
    可以先临时加一个占位的公开方法,满足当前规则的最低方法数要求,等后续功能开发时替换成实际业务逻辑即可。
  • 如果你们项目本身的规范就允许单方法类存在
    直接修改项目根目录下的.pylintrc配置文件,调整公开方法数的最低阈值,全局适配项目规范,配置修改示例:
    [DESIGN]
    # 将最低公开方法数要求从默认值2调整为1
    min-public-methods=1
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:45:35