추상 클래스의 잘못된 정의 및 사용을 보고합니다.

예:


from abc import abstractmethod, ABC


class Figure(ABC):

    @abstractmethod
    def do_figure(self):
        pass


class Triangle(Figure):  # 'Triangle' 클래스에서 일부 추상 메서드가 정의되지 않았습니다.
    def do_triangle(self):
        pass


Triangle()  # 추상 클래스 'Triangle'을 인스턴스화할 수 없습니다.

빠른 수정이 적용되면 IDE는 Triangle 클래스의 추상 메서드를 구현합니다:


from abc import abstractmethod, ABC


class Figure(ABC):

    @abstractmethod
    def do_figure(self):
        pass


class Triangle(Figure):
    def do_figure(self):
        pass

    def do_triangle(self):
        pass


Triangle()
또한 메타클래스가 abc.ABCMeta가 아닌 클래스에서 abc.abstractmethod가 사용되면 경고합니다.
from abc import abstractmethod


class MyClass:
    @abstractmethod  # 'MyClass'는 추상 클래스가 아닙니다.
    def foo(self):
        ...