如何修复pylint警告"抽象类未引用"?

时间:2011-11-24 19:04:16

标签: python warnings abstract-class pylint

我有一个Python类,它为几个方法引发了“NotImplementedError”,并且该类由其他一些在自己的文件中定义的类继承。

当我在具有抽象类的文件上运行Pylint时,它总是抱怨“Abstract class not referenced”。我想知道只是Pylint是偏执狂还是实际上我需要修理它?

2 个答案:

答案 0 :(得分:26)

如果你班上有一个提出NotImplementedError的方法就足以让pylint认为这是一个抽象类。

当pylint检查与项目其余部分隔离的每个文件时,如果没有人从文件中继承此类,它将引发此消息。

如果要停用它,则必须在课程定义之前添加此注释:

#pylint: disable=R0921

答案 1 :(得分:6)

Pylint认为每个文件都是“自包含”的,所以当检查你定义抽象类的文件但没有子类时,它会向R0921(http://www.logilab.org/card/pylintfeatures)抱怨。 / p>

事实上,消息类型是“R”,代表“重构”(http://www.logilab.org/card/pylint_manual#pylint-output):Pylint建议“良好做法”,但是你可以高兴地离开它。