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

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.

ÖZET

  • 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() için 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.
  • Python verilen türle değeri karşılaştıran instance() adında yerleşik bir işlevi vardır. Verilen değer ve tür eşleşirse true, aksi takdirde false döndürür. isinstance() kullanarak string, float, int, list, tuple, dict, set, class, vb. için test yapabilirsiniz.
  • isinstance() yöntemini kullanarak string, float, int, list, tuple, dict, set, class vb. öğeleri test edebilirsiniz.