我有一个Python类,它为几个方法引发了“NotImplementedError”,并且该类由其他一些在自己的文件中定义的类继承。
当我在具有抽象类的文件上运行Pylint时,它总是抱怨“Abstract class not referenced”。我想知道只是Pylint是偏执狂还是实际上我需要修理它?
答案 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建议“良好做法”,但是你可以高兴地离开它。