如何修复pylint警告"Abstract class not referenced"?

Jac*_*k Z 17 python warnings abstract-class pylint

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

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

Céd*_*ien 25

如果你在课堂上有一个提高NotImplementedError它的方法就足以使pylint认为这是一个抽象类.

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

如果你想要停用它,你必须在你的类定义之前放置这个注释:

#pylint: disable=R0921
Run Code Online (Sandbox Code Playgroud)


lbo*_*lla 6

Pylint认为每个文件都是"自包含的",因此在检查您定义抽象类的文件但没有子类时,它会向R0921(http://www.logilab.org/card/pylintfeatures)抱怨.

事实上,消息类型是"R",代表"重构"(http://www.logilab.org/card/pylint_manual#pylint-output):Pylint暗示"良好做法",但你可以高兴地离开就是这样.