isinstance ve issubclass
- Python kursu
- Orta seviye
- Ders 11/116
- 5 dk
isinstance ve issubclass ile tür kontrolünü öğrenirsin.
isinstance işlevi
isinstance(nesne, Sınıf), bir nesnenin belirli bir sınıfın (veya alt sınıflarının) örneği olup olmadığını denetler. True ya da False döndürür.
Örnek: isinstance(d, Dog). Eğer d bir Dog örneğiyse True verir. Dog, Animal'dan miras alıyorsa isinstance(d, Animal) da True verir. Bu, miras zincirini hesaba katar.
issubclass işlevi
issubclass(Çocuk, Ebeveyn), bir sınıfın başka bir sınıfın alt sınıfı olup olmadığını denetler. Yine True ya da False döndürür.
Örnek: issubclass(Dog, Animal). Dog, Animal'dan miras alıyorsa True verir. Burada örnekler değil sınıflar karşılaştırılır. isinstance örnekler içindir; issubclass sınıflar için.
Uygulama isinstance ve issubclass dene
Önce Animal sınıfını tanımla (gövde pass). Sonra class Dog(Animal): pass tanımla. d = Dog() ile örnek oluştur. Üç satır yaz: print(isinstance(d, Dog)), print(isinstance(d, Animal)) ve print(issubclass(Dog, Animal)).
Başlangıç kodu
# Animal ve Dog sınıflarını tanımlaÖrnek çözüm
# Animal ve Dog sınıflarını tanımla
class Animal:
pass
class Dog(Animal):
pass
d = Dog()
print(isinstance(d, Dog))
print(isinstance(d, Animal))
print(issubclass(Dog, Animal))Beklenen çıktı
True True True
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 isinstance(d, Dog) ne döndürür?
- None
- False
- True Doğru cevap
- Dog
Açıklama: d bir Dog örneğiyse True döner.
2 İşlevleri eşle
| Kavram | Anlamı |
|---|---|
isinstance |
Örnek mi? |
issubclass |
Alt sınıf mı? |
type |
Tam tür |
3 isinstance çağrısını tamamla
if isinstance(d, ____):
print("Köpek")
if isinstance(d, Dog):
print("Köpek")
Açıklama: Dog sınıf adı büyük harfle yazılır.