하트, 스페이드, 다이아몬드, 클럽이라는 클래스 슈트와 네 가지 서브 클래스가 있다고 가정 해 봅시다.
class Suit:
...
class Heart(Suit):
...
class Spade(Suit):
...
class Diamond(Suit):
...
class Club(Suit):
...
인스턴스가 아닌 클래스 객체 인 매개 변수로 양복을받는 메소드가 있습니다. 보다 정확하게는 하트, 스페이드, 다이아몬드, 클럽의 네 가지 값 중 하나만받을 수 있습니다. 그런 것을 보장하는 어설 션을 어떻게 만들 수 있습니까? 다음과 같은 것 :
def my_method(suit):
assert(suit subclass of Suit)
...
파이썬 3을 사용하고 있습니다.
_class
처럼 그들을 만들기를 suit_class
. 나는 그 와 같은 명명 규칙을 관련 질문 에 제안 했다 .
my_method(Heart)
my_method(Spade)
my_method
매개 변수로 얻을 수 있는 가능한 네 가지 값이 무엇인지 정확히 언급했다 : "네 가지 값 중 하나만받을 수있다 : 하트, 스페이드, 다이아몬드, 클럽". 이러한 값은 클래스 인스턴스가 아니라 클래스 객체입니다. 대답이 두 가지 가능성을 모두 다루기 때문에 모호함에 대해 옳다고 생각하지만 그것은 나에게 분명한 것처럼 보입니다. 명확한 문구가 있다면 질문을 편집 할 수 있습니다. 의견 주셔서 감사합니다.