CodeBlanks Logo Icon CodeBlanks

isinstance ve issubclass

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

main.py
# Animal ve Dog sınıflarını tanımla

Örnek çözüm

main.py
# 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

Soru
if isinstance(d, ____):
    print("Köpek")
Cevap
if isinstance(d, Dog):
    print("Köpek")

Açıklama: Dog sınıf adı büyük harfle yazılır.

Orta seviye bölümündeki tüm dersler