type() ve isinstance() içinde Python Örneklerle

⚡ Akıllı Özet

Python `type()` ve `isinstance()` fonksiyonları, bir nesnenin sınıfını kontrol etmek için kullanılan yerleşik fonksiyonlardır. `type()` tam türü döndürürken, `isinstance()` bir nesnenin bir sınıfa veya sınıf demetine ait olup olmadığını test eder. Her ikisi de burada örneklerle gösterilmiştir.

  • 🔍 tip(): Bir nesnenin tam sınıfını döndürür; örneğin, str, int veya list.
  • isinstance(): Bir nesnenin belirli bir sınıfın örneği olup olmadığını kontrol eder ve True veya False değerini döndürür.
  • 🧩 Üç argümanlı tip(): `type(name, bases, dict)` ifadesi, dinamik olarak yepyeni bir sınıf nesnesi oluşturur.
  • ???? Alt sınıflar: isinstance() alt sınıflar için True değerini döndürür; type() yalnızca tam sınıfı kontrol eder.
  • 🎯 Kullanım durumlarda: Nesne türüne göre giriş türlerini doğrulayın, değişkenlerde hata ayıklama yapın ve dallanma mantığını uygulayın.
  • 🤖 Yapay zekâ yardımı: Copilot gibi yapay zeka araçları, isteğe bağlı olarak type() ve isinstance() kontrolleri oluşturur.

type() ve isinstance() içinde Python

type() nedir? Python?

Python girdi olarak verilen değişkenin sınıf türünü bulmanıza yardımcı olan type() adında yerleşik bir işleve sahiptir. Örneğin, girdi bir dize ise çıktıyı şu şekilde alırsınız: , liste için şöyle olacak: , vesaire.

type() komutunu kullanarak tek bir argüman iletebilirsiniz ve dönüş değeri, verilen argümanın sınıf tipi olacaktır, örneğin: type(object).

Type()'a üç argüman iletmek de mümkündür, yani type(name, bases, dict), bu durumda size yeni bir tür nesnesi döndürecektir.

type() için sözdizimi

type() aşağıda gösterildiği gibi iki şekilde kullanılabilir:

 type(object)
type(namr, bases, dict)

Parametreler: tür(nesne)

  • nesne: Bu zorunlu bir parametredir. Eğer bu sadece type()'a aktarılan bir parametre ise, size parametrenin tipini döndürecektir.

Parametreler: type(isim, tabanlar, dikte)

  • name:sınıfın adı.
  • bazlar: (isteğe bağlı). Bu isteğe bağlı bir parametredir ve temel sınıftır
  • dict: (isteğe bağlı). Bu isteğe bağlı bir parametredir ve sınıfın tanımına sahip bir ad alanıdır.

Geri dönüş değeri

Type()'a iletilen tek parametre nesne ise, o zaman size nesnenin türünü döndürecektir.

Type'a iletilen parametreler bir türse (object, bases, dict), bu durumda yeni bir nesne türü döndürecektir.

Type() örneği

Bu örnekte bir dize değerimiz, sayı, kayan değer, karmaşık bir sayı, liste, tuple, dict ve set var. Her birinin çıktısını görmek için değişkenleri type ile birlikte kullanacağız.

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}

print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))

Çıktı:

The type is :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>

Örnek: Sınıf nesnesi için type() kullanımı.

Type() kullanarak bir sınıftan oluşturulan nesneyi kontrol ettiğinizde, sınıf adının yanı sıra sınıf tipini de döndürür. Bu örnekte bir sınıf oluşturacağız ve sınıf testinden oluşturulan nesne tipini kontrol edeceğiz.

class test:
    s = 'testing'

t = test()
print(type(t))

Çıktı:

<class '__main__.test'>

Örnek: type()'da adı, tabanları ve dikteyi kullanmak

Tür aynı zamanda sözdizimi kullanılarak da çağrılabilir: type(name, bases, dict).

type()'a iletilen üç parametre, yani ad, tabanlar ve dict, sınıf tanımını oluşturan bileşenlerdir. name sınıf adını temsil eder, bases temel sınıftır ve dict temel sınıf niteliklerinin sözlüğüdür.

Bu örnekte type()'da name, bases ve dict gibi üç parametrenin tümünü kullanacağız.

Örnek:

class MyClass:
  x = 'Hello World'
  y = 50

t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

Çıktı:

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

Üç argümanın tümünü type() öğesine ilettiğinizde, yeni sınıfı temel sınıf nitelikleriyle başlatmanıza yardımcı olur.

isinstance() nedir? Python?

Python örnek şunun bir parçasıdır Python'un yerleşik işlevleri. Python isinstance() iki argüman alır ve eğer ilk argüman ikinci argüman olarak verilen sınıf bilgisinin bir örneği ise true değerini döndürür.

Sözdizimi örnek()

isinstance(object, classtype)

Parametreler

  • nesne: Örneğini sınıf türüyle karşılaştırdığınız bir nesne. Tür eşleşirse true değerini döndürür, aksi halde false değerini döndürür.
  • sınıf türü: Bir tür veya sınıf veya tür ve/veya sınıflardan oluşan bir grup.

Geri dönüş değeri

Nesne sınıf tipinin bir örneği ise true değerini, değilse false değerini döndürür.

örnek() örnekleri

Bu bölümde isinstance()'ı öğrenmek için çeşitli örnekleri inceleyeceğiz.

Örnek: isinstance() Tamsayı kontrolü

Aşağıdaki kod, 51 tamsayı değerini int türüyle karşılaştırır. int ile 51 eşleşme türünde true değerini döndürür, aksi halde false değerini döndürür.

age = isinstance(51,int)
print("age is an integer:", age)

Çıktı:

age is an integer: True

Örnek: isinstance() Kayan nokta kontrolü

Bu örnekte float değerini float türüyle karşılaştıracağız, yani 3.14 değerini float türüyle karşılaştıracağız.

pi = isinstance(3.14,float)
print("pi is a float:", pi)

Çıktı:

pi is a float: True

Örnek: isinstance() String kontrolü

message = isinstance("Hello World",str)
print("message is a string:", message)

Çıktı:

message is a string: True

Örnek: isinstance() Tuple kontrolü

Kod, tuple tipinde bir tuple (1,2,3,4,5) olup olmadığını kontrol eder. Verilen giriş tuple tipindeyse true, değilse false değerini döndürür.

my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)

Çıktı:

my_tuple is a tuple: True

Örnek: isinstance() Set check

Kod, set tipinde bir ({1,2,3,4,5}) setini kontrol eder. Verilen giriş set tipindeyse true, değilse false değerini döndürür.

my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)

Çıktı:

my_set is a set: True

Örnek: isinstance() liste kontrolü

Kod, tür listesiyle birlikte [1,2,3,4,5] listesini kontrol eder. Verilen giriş liste tipindeyse true, değilse false değerini döndürür.

my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)

Çıktı:

my_list is a list: True

Örnek: isinstance() dict kontrolü

Kod, dict türüyle bir dict({“A”:”a”, “B”:”b”, “C”:”c”, “D”:”d”} olup olmadığını kontrol eder. verilen giriş dict türündedir ve değilse false olur.

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)

Çıktı:

my_dict is a dict: True

Örnek: bir sınıfta isinstance() testi

Kod, isinstance() ile sınıfın tür kontrolünü gösterir. Sınıfın nesnesi isinstance() içindeki sınıfın adıyla karşılaştırılır. Nesne sınıfa aitse true, değilse false değerini döndürür.

class MyClass:
    _message = "Hello World"

_class = MyClass()

print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

Çıktı:

_class is a instance of MyClass() True

type() ve isinstance() arasındaki fark Python

tip() örnek()
Python girdi olarak verilen değişkenin sınıf türünü bulmanıza yardımcı olan type() adında yerleşik bir işleve sahiptir. Python isinstance() adında, değeri verilen türle karşılaştıran yerleşik bir işlevi vardır. Eğer değer ve verilen tür eşleşirse true, aksi takdirde false döndürür.
Dönüş değeri bir tür nesnesidir Dönüş değeri bir Boolean'dır, yani doğru veya yanlış.
class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(type(A()) == A)
print(type(B()) == A)

Çıktı:

True
False

Tip durumunda alt sınıf kontrolü false sonucunu verir.

class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(isinstance(A(), A))
print(isinstance(B(), A))

Çıktı:

True
True

isinstance(), bir alt sınıfla kontrol edildiğinde doğruluk değeri verir.

SSS

`type()` yerleşik bir fonksiyondur ve bir nesnenin sınıfını döndürür. Tek bir argüman verildiğinde nesnenin türünü verir; üç argüman (ad, temeller, sözlük) verildiğinde ise yeni bir sınıf oluşturur.

isinstance(object, classtype) yöntemi, bir nesnenin bir sınıfın veya sınıf demetinin örneği olup olmadığını kontrol eder. Tür eşleşirse True, aksi takdirde False döndürür.

`type()` metodu bir nesnenin tam sınıfını döndürür ve kalıtımı göz ardı ederken, `isinstance()` metodu alt sınıflar için de `True` değerini döndürür. Sınıf hiyerarşilerine saygı duyan esnek tür kontrolleri için `isinstance()` metodunu kullanın.

Evet. type(name, bases, dict) fonksiyonunu üç argümanla çağırmak, dinamik olarak yeni bir sınıf nesnesi döndürür. name sınıf adıdır, bases üst sınıfların demetidir ve dict öznitelikleri içerir.

Evet. isinstance() metodu, bir nesnenin bir sınıfın veya alt sınıflarından herhangi birinin örneği olup olmadığını kontrol ederken True değerini döndürür. Bu da kalıtım yoluyla alınan türleri kontrol etmek için type() metodundan daha güvenli olmasını sağlar.

GitHub Copilot gibi yapay zeka asistanları, siz yazarken `type()` ve `isinstance()` kontrollerini otomatik olarak tamamlar, doğrulama koruyucuları oluşturur ve belirli bir nesne için doğru yaklaşımı önerir. Python.

Evet. Yapay zeka destekli araçlar, kod tabanınız genelinde isinstance() kontrollerini otomatik olarak ekleyebilir, kontrol edilmemiş girdileri tespit edebilir ve kırılgan type() karşılaştırmalarını daha güvenli isinstance() kontrollerine dönüştürebilir.

`type()` fonksiyonu, değer için sınıf nesnesini döndürür: `list` bir liste için, `dict` ise bir sözlük için. Yazdırıldığında `class list` veya `class dict` gibi bir biçim gösterir.

Bu yazıyı şu şekilde özetleyin: