如何解决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
相关产品推荐
相关产品推荐

