Diyelim ki bir takım elbisem ve dört takım elbisem var: Heart, Spade, Diamond, Club.
class Suit:
...
class Heart(Suit):
...
class Spade(Suit):
...
class Diamond(Suit):
...
class Club(Suit):
...
Bir örnek, bir sınıf nesnesi olan bir parametre olarak bir takım alır bir yöntem var. Daha doğrusu, dört değerden sadece birini alabilir: Kalp, Maça, Elmas, Kulüp. Böyle bir şeyi sağlayan bir iddiayı nasıl yapabilirim? Gibi bir şey:
def my_method(suit):
assert(suit subclass of Suit)
...
Python 3 kullanıyorum.
_class
gibi bunları yaparken, suit_class
. Ben önerdi böyle bir adlandırma kuralı alakalı sorulardan .
my_method(Heart)
my_method(Spade)
inspect.isclass
veya isinstance(myvar, type)
Python 3'te kullanabilirsiniz issubclass
. Bu cevaba bakınız . Aşağıdaki cevap hakkında yorum yapardım, ama gün ışığını asla göremezdim.
my_method
Parametreler olarak alabilecek olası dört değerin tam olarak ne olduğunu söyledim : "dört değerden sadece birini alabilir: Kalp, Maça, Elmas, Kulüp". Bu değerler sınıf örnekleri değil, sınıf nesnesidir. Benim için oldukça açık görünüyor, ancak muğlaklık konusunda haklı olduğunu düşünüyorum, çünkü cevaplar her iki olasılığı da kapsıyor. Daha net bir ibadetiniz varsa soruyu düzenlemekten memnuniyet duyarız. Yorum için teşekkürler.