하위 클래스가 어떤 메서드를 오버라이드하지 못하면 raise 함수에 기본 클래스를 구현할 수 있습니다..하위 클래스가 특정 기본 클래스 메서드를 재정의 할 때만 발생합니까?
def some_method(self):
raise NotImplementedError
하지만 반대 할 수있는 방법, 즉 서브 클래스가이 방법를 오버라이드 (override) 않는 경우에만 인상?
감사합니다.
편집 : 난 너무 네임 스페이스 충돌이 여기에 적용되지 않습니다 의 getItem/getattr을 무시 사람들을 방지하기 위해 노력하고있어.
편집 : 이미 하위 클래스 메소드가 기본 클래스 메소드인지 확인하려고했습니다. 이것은 CPython에서 작동하지만 PyPy에서는 작동하지 않습니다. 모든 주변 솔루션이 있습니까?
? 그냥 이중 밑줄 규칙을 사용해야할까요? –
[Python이 구현 클래스 이름에서 구현 클래스 이름 충돌을 피할 수 있습니다] (https://stackoverflow.com/questions/30543615/python-avoiding-implementation-method-name-clashes-in-subclass) –
나는 '__getitem__/__getattr__'을 재정의하십시오 –