สมมติว่าฉันมีคลาส Suit และคลาสย่อยสี่ชุด: Heart, Spade, Diamond, Club
class Suit:
...
class Heart(Suit):
...
class Spade(Suit):
...
class Diamond(Suit):
...
class Club(Suit):
...
ฉันมีวิธีการที่ได้รับชุดสูทเป็นพารามิเตอร์ซึ่งเป็นวัตถุคลาสไม่เป็นตัวอย่าง แม่นยำมากขึ้นอาจได้รับเพียงหนึ่งในสี่ค่า: Heart, Spade, Diamond, Club ฉันจะยืนยันซึ่งยืนยันสิ่งนั้นได้อย่างไร สิ่งที่ต้องการ:
def my_method(suit):
assert(suit subclass of Suit)
...
ฉันใช้ Python 3
my_method(Heart)
my_method(Spade)
...
my_method
อาจเป็นพารามิเตอร์ได้: "มันอาจได้รับเพียงหนึ่งในสี่ค่า: Heart, Spade, Diamond, Club" ค่าเหล่านั้นเป็นวัตถุคลาสไม่ใช่อินสแตนซ์ของคลาส ดูเหมือนจะชัดเจนสำหรับฉันแม้ว่าฉันคิดว่าคุณพูดถูกเกี่ยวกับความคลุมเครือเพราะคำตอบนั้นครอบคลุมความเป็นไปได้ทั้งสองอย่าง คุณยินดีที่จะแก้ไขคำถามถ้าคุณมีคำที่ชัดเจนกว่านี้ ขอบคุณสำหรับความคิดเห็น