Co je type () v Pythonu?
Python má vestavěnou funkci nazvanou type (), která vám pomůže najít typ třídy proměnné uvedené jako vstup. Například pokud je vstupem řetězec, dostanete výstup jako
Pomocí příkazu type () můžete předat jeden argument a návratová hodnota bude typ třídy daného argumentu, například: type (object).
Je také možné předat tři argumenty typu (), tj. Typu (název, báze, dict), v takovém případě vám vrátí nový objekt typu.
V tomto výukovém programu se naučíte:
- Co je type () v Pythonu?
- Syntaxe pro typ ():
- Příklad typu ()
- Příklad: Použití type () pro objekt třídy.
- Příklad: Použití jména, základen a diktátu v type ()
- Co je to isinstance () v Pythonu?
- Syntaxe isinstance ():
- Příklady isinstance ()
- Rozdíl mezi type () a isinstance () v Pythonu
Syntaxe pro typ ():
type () lze použít dvěma způsoby, jak je znázorněno níže:
type(object)type(namr, bases, dict)
Parametry : typ (objekt)
- objekt: Toto je povinný parametr. Pokud se jedná pouze o parametr předaný type (), vrátí vám typ parametru.
Parametry : type (name, bases, dict)
- name: název třídy.
- základy: (volitelně). Toto je volitelný parametr a je to základní třída
- dict: (volitelně). Toto je volitelný parametr a je to jmenný prostor, který má definici třídy.
Návratová hodnota:
Pokud je objekt jediným parametrem předaným type (), vrátí vám typ objektu.
Pokud jsou parametry předané typu typ (objekt, základy, dikt), v takovém případě vrátí nový typ objektu.
Příklad typu ()
V tomto příkladu máme hodnotu řetězce, číslo, float hodnotu, komplexní číslo, seznam, n-tici, dict a set. Proměnné s typem použijeme k zobrazení výstupu pro každou z nich.
str_list = "Welcome to Guru99"age = 50pi = 3.14c_num = 3j+10my_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))
Výstup:
The type is :The type is : The type is : The type is : The type is : The type is : The type is : The type is :
Příklad: Použití type () pro objekt třídy.
Když zkontrolujete objekt vytvořený ve třídě pomocí type (), vrátí typ třídy spolu s názvem třídy. V tomto příkladu vytvoříme třídu a zkontrolujeme typ objektu vytvořený z testu třídy.
class test:s = 'testing't = test()print(type(t))
Výstup:
Příklad: Použití jména, základen a diktátu v type ()
Typ lze také volat pomocí syntaxe: typ (name, bases, dict).
Tři parametry předané type (), tj. Name, base a dict jsou komponenty, které tvoří definici třídy. Název představuje název třídy, základy je základní třída a dict je slovník atributů základní třídy.
V tomto příkladu použijeme všechny tři parametry, tj. Name, base a dict in type ().
Příklad:
class MyClass:x = 'Hello World'y = 50t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))print(type(t1))print(vars(t1))
Výstup:
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}
Když předáte všechny tři argumenty typu (), pomůže vám to inicializovat novou třídu s atributy základní třídy.
Co je to isinstance () v Pythonu?
Instance Pythonu je součástí vestavěných funkcí pythonu. Python isinstance () přijímá dva argumenty a vrátí true, pokud je první argument instancí třídyinfo zadanou jako druhý argument.
Syntaxe isinstance ()
isinstance(object, classtype)
Parametry
- objekt: Objekt, jehož instanci porovnáváte s klasickým typem. Vrátí true, pokud typ odpovídá jinak false.
- typ třídy: Typ nebo třída nebo n-tice typů a / nebo tříd.
Návratová hodnota:
Vrátí true, pokud je objekt instancí classtype a false, pokud ne.
Příklady isinstance ()
V této části budeme studovat různé příklady, abychom se naučili isinstance ()
Příklad: isinstance () Integer check
Níže uvedený kód porovnává celočíselnou hodnotu 51 s typem int. Vrátí true to typ 51 shod s int jinak false.
age = isinstance(51,int)print("age is an integer:", age)
Výstup:
age is an integer: True
Příklad: isinstance () float check
V tomto příkladu budeme porovnávat hodnotu float s typem float, tj. Hodnota 3,14 bude porovnávána s typem float.
pi = isinstance(3.14,float)print("pi is a float:", pi)
Výstup:
pi is a float: True
Příklad: isinstance () Kontrola řetězce
message = isinstance("Hello World",str)print("message is a string:", message)
Výstup:
message is a string: True
Příklad: isinstance () Tuple check
Kód kontroluje n-tici (1,2,3,4,5) s typem n-tice. Vrátí hodnotu true, pokud je daný vstup typu n-tice, a false, pokud ne.
my_tuple = isinstance((1,2,3,4,5),tuple)print("my_tuple is a tuple:", my_tuple)
Výstup:
my_tuple is a tuple: True
Příklad: isinstance () Nastavit kontrolu
Kód kontroluje množinu ({1,2,3,4,5}, s nastaveným typem. Vrátí hodnotu true, pokud je zadaný vstup typu set, a hodnotu false, pokud ne.
my_set = isinstance({1,2,3,4,5},set)print("my_set is a set:", my_set)
Výstup:
my_set is a set: True
Příklad: kontrola seznamu isinstance ()
Kód kontroluje seznam [1,2,3,4,5] se seznamem typů. Vrátí true, pokud je zadaný vstup typu list a false, pokud ne.
my_list = isinstance([1,2,3,4,5],list)print("my_list is a list:", my_list)
Výstup:
my_list is a list: True
Příklad: kontrola diktátu isinstance ()
Kód kontroluje diktát ({"A": "a", "B": "b", "C": "c", "D": "d"} s typem dict. Vrátí hodnotu true, pokud zadaný vstup je typu dict a false, pokud ne.
my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)print("my_dict is a dict:", my_dict)
Výstup:
my_dict is a dict: True
Příklad: test isinstance () na třídě
Kód ukazuje typovou kontrolu třídy s isinstance (). Objekt třídy je porovnán s názvem třídy uvnitř isinstance (). Vrátí true, pokud objekt patří do třídy, a false jinak.
class MyClass:_message = "Hello World"_class = MyClass()print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))
Výstup:
_class is a instance of MyClass() True
Rozdíl mezi type () a isinstance () v Pythonu
typ() | isinstance () |
Python má vestavěnou funkci nazvanou type (), která vám pomůže najít typ třídy proměnné uvedené jako vstup. | Python má vestavěnou funkci nazvanou isinstance (), která porovnává hodnotu s daným typem. Pokud se zadaná hodnota a typ shodují, vrátí hodnotu true, jinak hodnotu false. |
Návratová hodnota je typový objekt | Návratová hodnota je logická, tj. True nebo false. |
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)Výstup: TrueFalseV případě typu vrátí kontrola podtřídy false. |
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))Výstup: TrueTrueisinstance () dává truthy hodnotu při kontrole s podtřídou. |
Souhrn:
- Python má vestavěnou funkci nazvanou type (), která vám pomůže najít typ třídy proměnné uvedené jako vstup. Například pokud je vstupem řetězec, dostanete výstup jako
, pro seznam to bude atd. - Pro typ () můžete předat jediný argument a návratová hodnota bude typ třídy daného argumentu, např. Typ (objekt).
- Je také možné předat tři argumenty typu (), tj. Typu (název, báze, dict), v takovém případě vám vrátí nový objekt typu.
- Python má vestavěnou funkci nazvanou instance (), která porovnává hodnotu s daným typem. Pokud se zadaná hodnota a typ shodují, vrátí true, jinak false. Pomocí isinstance () můžete testovat řetězec, float, int, seznam, n-tici, dict, set, třídu atd.
- Pomocí metody isinstance () můžete otestovat řetězec, float, int, seznam, n-tici, dict, set, třídu atd.