type() és isinstance() in Python példákkal
Mi a type() Python?
Python van egy type() nevű beépített függvénye, amely segít megtalálni a bemenetként megadott változó osztálytípusát. Például, ha a bemenet egy karakterlánc, akkor a kimenetet a következőképpen kapja meg , a listához az lesz stb.
A type() paranccsal egyetlen argumentumot adhatunk át, és a visszatérési érték a megadott argumentum osztálytípusa lesz, például: type(object).
Három argumentumot is átadhatunk a type(), azaz type(név, alapok, dict) paraméternek, ebben az esetben egy új típusú objektumot ad vissza.
A type() szintaxisa
type() kétféleképpen használható, az alábbiak szerint:
type(object) type(namr, bases, dict)
paraméterek: típus(objektum)
- objektum: Ez egy kötelező paraméter. Ha ez csak a type() paraméternek van átadva, akkor visszaadja a paraméter típusát.
paraméterek: típus(név, alapok, diktátum)
- név:osztály neve.
- alapok: (nem kötelező). Ez egy opcionális paraméter, és ez az alaposztály
- diktál: (nem kötelező). Ez egy opcionális paraméter, és ez egy névtér, amely tartalmazza az osztály definícióját.
Visszatérési érték
Ha az objektum az egyetlen paraméter, amelyet a type()-nek adunk át, akkor visszaadja az objektum típusát.
Ha a típusnak átadott paraméter egy típus (objektum, bázisok, dict), ebben az esetben egy új típusú objektumot ad vissza.
Példa a típusra ()
Ebben a példában van egy karakterlánc érték, szám , lebegő érték, komplex szám, lista, tuple , dict és halmaz. A típussal rendelkező változókat fogjuk használni, hogy megnézzük mindegyik kimenetét.
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))
output:
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'>
Példa: A type() használata osztályobjektumhoz.
Amikor az osztályból létrehozott objektumot a type() használatával ellenőrzi, az osztály típusát adja vissza az osztály nevével együtt. Ebben a példában létrehozunk egy osztályt, és ellenőrizzük az osztálytesztből létrehozott objektumtípust.
class test:
s = 'testing'
t = test()
print(type(t))
output:
<class '__main__.test'>
Példa: A név, az alapok és a dict használata a type()
A típus a következő szintaxissal is meghívható: type(name, bases, dict).
A type()ie-nek átadott három paraméter, name, bases és dict alkotja az osztálydefiníciót. A név az osztály nevét jelenti, a bases az alaposztályt, a dict pedig az alaposztály attribútumainak szótára.
Ebben a példában mindhárom paramétert, azaz a nevet, a bázisokat és a dict-t használjuk a type()-ben.
Példa:
class MyClass:
x = 'Hello World'
y = 50
t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))
output:
<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}
Ha mindhárom argumentumot átadja a type() -nek, ez segít az új osztály inicializálásában az alaposztály attribútumaival.
Miben van az isstance() Python?
Python isinstance része python beépített függvényei. Python Az isinstance() két argumentumot vesz fel, és igazat ad vissza, ha az első argumentum a második argumentumként megadott classinfo példánya.
Szintaxis isinstance()
isinstance(object, classtype)
paraméterek
- objektum: Olyan objektum, amelynek példányát az osztálytípussal hasonlítja össze. Igazat ad vissza, ha a típus egyébként hamis.
- osztálytípus: Egy típus vagy egy osztály vagy típusok és/vagy osztályok sorozata.
Visszatérési érték
Igazat ad vissza, ha az objektum osztálytípus példánya, és false-t, ha nem.
Példák az isstance()
Ebben a részben különféle példákat fogunk tanulmányozni, hogy megtanuljuk az isinstance()
Példa: isinstance() Integer check
Az alábbi kód az 51-es egész számot hasonlítja össze az int típussal. Igazat ad vissza, ez az 51-es típusú egyezés az int-vel, egyébként false.
age = isinstance(51,int)
print("age is an integer:", age)
output:
age is an integer: True
Példa: isinstance() Float check
Ebben a példában a float értéket a float típussal fogjuk összehasonlítani, azaz a 3.14 értéket a float típussal fogjuk összehasonlítani.
pi = isinstance(3.14,float)
print("pi is a float:", pi)
output:
pi is a float: True
Példa: isinstance() String check
message = isinstance("Hello World",str)
print("message is a string:", message)
output:
message is a string: True
Példa: isinstance() Tuple check
A kód egy sor (1,2,3,4,5) típusát ellenőrzi. Igazat ad vissza, ha a megadott bemenet tuple típusú, és false-t, ha nem.
my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)
output:
my_tuple is a tuple: True
Példa: isinstance() Állítsa be az ellenőrzést
A kód egy halmazt ({1,2,3,4,5}, beállított típussal) ellenőrzi. Igazat ad vissza, ha a megadott bemenet típusa set, és false-t, ha nem.
my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)
output:
my_set is a set: True
Példa: isinstance() lista ellenőrzése
A kód egy listát keres [1,2,3,4,5] típuslistával. Igazat ad vissza, ha a megadott bemenet lista típusú, és false-t, ha nem.
my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)
output:
my_list is a list: True
Példa: isinstance() dict check
A kód ellenőrzi, hogy van-e dict ({"A":"a", "B":"b", "C":"c", "D":"d"}, dict típusú. Igaz értéket ad vissza, ha a megadott bemenet dict típusú, és false, ha nem.
my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)
output:
my_dict is a dict: True
Példa: isinstance() teszt egy osztályon
A kód az isinstance() osztály típusellenőrzését mutatja. Az osztály objektuma összehasonlításra kerül az osztály nevével az isinstance()-on belül. Igazat ad vissza, ha az objektum az osztályhoz tartozik, egyébként false-t.
class MyClass:
_message = "Hello World"
_class = MyClass()
print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))
output:
_class is a instance of MyClass() True
Különbség a type() és az isinstance() között in Python
| típus () | isinstance () |
|---|---|
| Python van egy type() nevű beépített függvénye, amely segít megtalálni a bemenetként megadott változó osztálytípusát. | Python van egy beépített isinstance() függvénye, amely összehasonlítja az értéket a megadott típussal. Ha a megadott érték és típus megegyezik, akkor igaz, ellenkező esetben hamis értéket ad vissza. |
| A visszatérési érték egy típusú objektum | A visszatérési érték logikai, azaz igaz vagy hamis. |
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(type(A()) == A) print(type(B()) == A) output: True False Típus esetén az alosztály ellenőrzése false-t ad vissza. |
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(isinstance(A(), A)) print(isinstance(B(), A)) output: True True Az isinstance() igaz értéket ad, ha egy alosztállyal ellenőrizzük. |
Összegzésként
- Python van egy type() nevű beépített függvénye, amely segít megtalálni a bemenetként megadott változó osztálytípusát. Például, ha a bemenet egy karakterlánc, akkor a kimenetet a következőképpen kapja meg , a listához az lesz stb.
- A type() esetén egyetlen argumentumot adhatunk át, és a visszatérési érték a megadott argumentum osztálytípusa lesz, pl. type(object).
- Három argumentumot is átadhatunk a type(), azaz type(név, alapok, dict) paraméternek, ebben az esetben egy új típusú objektumot ad vissza.
- Python van egy beépített example() függvénye, amely összehasonlítja az értéket a megadott típussal. Ha a megadott érték és típus megegyezik, akkor igaz, ellenkező esetben hamis értéket ad vissza. Az isinstance() segítségével tesztelheti a string, float, int, list, tuple, dict, set, class stb.
- Az isinstance() metódussal tesztelheti a string, float, int, list, tuple, dict, set, class stb.
