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.