Как исправить предупреждение pylint "Абстрактный класс не указан"?
У меня есть класс Python, который вызывает "NotImplementedError" для нескольких методов, и класс наследуется несколькими другими классами, которые определены в их собственных файлах.
Когда я запускаю Pylint в файле с абстрактным классом, он всегда жалуется на "Абстрактный класс, на который не ссылаются". Мне было интересно, это просто Пилинт, параноик или есть что-то, что мне нужно исправить?
Ответы
Ответ 1
Если у вас в вашем классе метод, повышающий значение NotImplementedError
, достаточно сделать pylint считать, что это абстрактный класс.
Как pylint проверяет каждый файл, выделенный из остальной части проекта, если никто не наследует от этого класса в файле, он поднимет это сообщение.
Если вы хотите деактивировать его, вам нужно поставить этот комментарий перед определением вашего класса:
#pylint: disable=R0921
Ответ 2
Pylint считает каждый файл "самодостаточным", поэтому при проверке файла, в котором вы определили свой абстрактный класс, но не подклассов, он жалуется на R0921 (http://www.logilab.org/card/pylintfeatures).
Фактически, тип сообщения - "R", что означает "refactor" (http://www.logilab.org/card/pylint_manual#pylint-output): Pylint предлагает "хорошую практику", но вы может с радостью оставить его таким.