2014-04-04 3 views
0

내 질문은이 질문에 관련이있다 Is enforcing an abstract method implementation unpythonic?. 저는 파이썬에서 추상 클래스를 사용하고 있습니다 만, 사용자가 기본 클래스를 위해 의도 된 것과는 완전히 다른 인수를 취하는 함수를 구현하지 못하도록한다는 것을 알았습니다. 따라서 인수의 유형을 확인해야 할 수도 있습니다. 그럴 만한가?파이썬에서 추상 클래스 : 강제 유형

사람들은 어떻게 추상적 인 클래스를 파이썬으로 사용합니까?

답변

0

짧은 대답 : 예 그렇다. 완성도를 위해 구현을 검사하기 위해 추상 기본 클래스를 갖는 것이 여전히 이치에 맞을 수도 있습니다. 하지만 그것을 수행하는 파이썬 방법은 주로 duck-typing입니다. 즉, 작업하는 객체가 예상 한 사양을 충족한다고 가정합니다. 설명서에 이러한 기대치를 명시하십시오.

실제로 일반적으로 이러한 안전성 검사를 많이하지는 않습니다. 유형을 확인하더라도 실행시에 가짜를 여전히 위조 할 수 있습니다. 또한 코드의 사용자가 코드에 전달하는 개체의 종류에 대해보다 유연하게 사용할 수 있습니다. ABC를 구현하면 매번 코드가 복잡해집니다.