PyCharm (커뮤니티 3.1.1)과 밀접하게 관련된 특정 문제가 있습니다. 다음의 간단한 예제는 이것을 보여줍니다. 코드를 입력하는 대신 PyCharm의 스크린 샷을 사용합니다. 이유는 곧 명확해질 것입니다. 파이썬 구현되지 않은 메서드 대 추상 메서드는 파이썬이 더 깁니까? PyCharm은 기본 클래스에서 구현되지 않은 메소드를 좋아하지 않습니다.
당신이 볼 수 있듯이
는self.say_hello()
에 대한 호출이 PyCharm에 의해 노란색으로 강조되며,
say_hello()
는
Base
클래스에서 구현되지 않기 때문에 아마도이입니다. 사실
say_hello()
이 기본 클래스에서 구현되지 않았다는 것은 의도적 인 것입니다. 왜냐하면
Base
의 인스턴스가
say_hello()
을 호출 할 수 없으므로 (따라서
hello()
을 호출하면 안 됨) 일종의 "추상"효과가 필요하기 때문입니다.
Child
의 인스턴스는
hello()
(
Base
클래스로 구현 됨)을 호출 할 수 있습니다. PyCharm을 불평하지 않고이 "추상"효과를 얻으려면 어떻게해야합니까?
here에서 알았 듯이 abc
모듈을 사용할 수 있습니다. 그러나 그것은 나에게 다소 성가신 일이 될 것이고 다소 평범하지는 않을 것입니다. 당신의 추천은 무엇입니까?
추상적 인 방법을 사용하는 것이 유일한 해결책입니다. – Cthulhu