Type () și isinstance () în Python cu exemple

Cuprins:

Anonim

Ce este tipul () în Python?

Python are o funcție încorporată numită type () care vă ajută să găsiți tipul clasei variabilei date ca intrare. De exemplu, dacă intrarea este un șir, veți obține ieșirea ca , pentru listă, va fi etc.

Folosind comanda type (), puteți trece un singur argument, iar valoarea returnată va fi tipul de clasă al argumentului dat, exemplu: type (object).

De asemenea, este posibil să treceți trei argumente la tipul (), adică la tipul (nume, baze, dict), în acest caz, vă va întoarce un obiect de tip nou.

În acest tutorial, veți învăța:

  • Ce este tipul () în Python?
  • Sintaxa pentru type ():
  • Exemplu de tip ()
  • Exemplu: Folosind type () pentru obiectul clasei.
  • Exemplu: folosind numele, bazele și dictarea în tipul ()
  • Ce este isinstance () în Python?
  • Sintaxa este instanță ():
  • Exemple de isinstance ()
  • Diferența dintre type () și isinstance () în Python

Sintaxa pentru type ():

type () poate fi utilizat în două moduri, după cum se arată mai jos:

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

Parametri : tip (obiect)

  • obiect: Acesta este un parametru obligatoriu. Dacă acesta este doar parametru trecut la tipul (), atunci acesta vă va returna tipul parametrului.

Parametri : tip (nume, baze, dict)

  • nume: numele clasei.
  • baze: (opțional). Acesta este un parametru opțional și este clasa de bază
  • dict: (opțional). Acesta este un parametru opțional și este un spațiu de nume care are definiția clasei.

Valoare returnată:

Dacă obiectul este singurul parametru trecut la type (), atunci acesta vă va întoarce tipul obiectului.

Dacă parametrii trecuți la tip sunt un tip (obiect, baze, dict), în acest caz, va returna un nou tip de obiect.

Exemplu de tip ()

În acest exemplu, avem o valoare șir, număr, valoare float, un număr complex, listă, tuplu, dict și set. Vom folosi variabilele cu tip pentru a vedea ieșirea pentru fiecare dintre ele.

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))

Ieșire:

The type is :The type is :The type is :The type is :The type is :The type is :The type is :The type is :

Exemplu: Folosind type () pentru obiectul clasei.

Când verificați obiectul creat dintr-o clasă folosind type (), acesta returnează tipul clasei împreună cu numele clasei. În acest exemplu, vom crea o clasă și vom verifica tipul de obiect creat din testul clasei.

class test:s = 'testing't = test()print(type(t))

Ieșire:

Exemplu: folosind numele, bazele și dictarea în tipul ()

Tipul poate fi numit și folosind sintaxa: type (nume, baze, dict).

Cei trei parametri trecuți la tipul () adică, nume, baze și dict sunt componentele care alcătuiesc o definiție a clasei. Numele reprezintă numele clasei, bazele este clasa de bază, iar dict este dicționarul atributelor clasei de bază.

În acest exemplu, vom face uz de toți cei trei parametri, adică nume, baze și dict în tip ().

Exemplu:

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

Ieșire:

{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

Când treceți toate cele trei argumente la type (), vă ajută să inițializați clasa nouă cu atribute ale clasei de bază.

Ce este isinstance () în Python?

Instanța Python face parte din funcțiile încorporate Python. Python isinstance () acceptă două argumente și returnează adevărat dacă primul argument este o instanță a classinfo dată ca al doilea argument.

Sintaxa este instanță ()

isinstance(object, classtype)

Parametrii

  • obiect: obiect al cărui exemplu îl comparați cu classtype. Va reveni adevărat dacă tipul se potrivește altfel fals.
  • tip de clasă: Un tip sau o clasă sau un tuplu de tipuri și / sau clase.

Valoare returnată:

Va reveni adevărat dacă obiectul este o instanță de tip classt și fals dacă nu.

Exemple de isinstance ()

În această secțiune, vom studia diferite exemple pentru a învăța instanța ()

Exemplu: isinstance () Verificare numerică

Codul de mai jos compară valoarea întreagă 51 cu tipul int. Se va întoarce la adevărat tipul de 51 de potriviri cu int altfel fals.

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

Ieșire:

age is an integer: True

Exemplu: isinstance () Float check

În acest exemplu vom compara valoarea float cu tipul float, adică valoarea 3,14 va fi comparată cu tipul float.

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

Ieșire:

pi is a float: True

Exemplu: isinstance () Verificare șir

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

Ieșire:

message is a string: True

Exemplu: isinstance () Verificare tuplu

Codul verifică un tuplu (1,2,3,4,5) cu tipul tuplu. Va reveni adevărat dacă intrarea dată este de tip tuplu și falsă dacă nu.

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

Ieșire:

my_tuple is a tuple: True

Exemplu: isinstance () Set check

Codul verifică un set ({1,2,3,4,5}, cu tipul setat. Va reveni adevărat dacă intrarea dată este de tip set și falsă dacă nu.

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

Ieșire:

my_set is a set: True

Exemplu: verificarea listei isinstance ()

Codul verifică o listă [1,2,3,4,5], cu lista de tipuri. Va reveni adevărat dacă intrarea dată este de tip listă și falsă dacă nu.

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

Ieșire:

my_list is a list: True

Exemplu: isinstance () dict check

Codul verifică dacă există un dict ({"A": "a", "B": "b", "C": "c", "D": "d"}, cu tipul dict. Acesta va reveni adevărat dacă intrarea dată este de tip dict și falsă dacă nu.

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

Ieșire:

my_dict is a dict: True

Exemplu: test isinstance () pe o clasă

Codul arată verificarea tipului clasei cu isinstance (). Obiectul clasei este comparat cu numele clasei din isinstance (). Revine adevărat dacă obiectul aparține clasei și fals în caz contrar.

class MyClass:_message = "Hello World"_class = MyClass()print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

Ieșire:

_class is a instance of MyClass() True

Diferența dintre type () și isinstance () în Python

tip() instanță ()
Python are o funcție încorporată numită type () care vă ajută să găsiți tipul clasei variabilei date ca intrare. Python are o funcție încorporată numită isinstance () care compară valoarea cu tipul dat. Dacă valoarea și tipul dat se potrivesc, acesta va reveni adevărat altfel fals.
Valoarea returnată este un obiect de tip Valoarea returnată este un Boolean, adică adevărat sau fals.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)
Ieșire:
TrueFalse
În cazul tipului, verificarea subclasei dă înapoi fals.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))
Ieșire:
TrueTrue
isinstance () oferă o valoare adevărată atunci când este verificată cu o subclasă.

Rezumat:

  • Python are o funcție încorporată numită type () care vă ajută să găsiți tipul clasei variabilei date ca intrare. De exemplu, dacă intrarea este un șir, veți obține ieșirea ca , pentru listă, va fi etc.
  • Pentru type (), puteți trece un singur argument, iar valoarea returnată va fi tipul de clasă al argumentului dat, de exemplu, type (object).
  • De asemenea, este posibil să treceți trei argumente la tipul (), adică la tipul (nume, baze, dict), în acest caz, vă va întoarce un obiect de tip nou.
  • Python are o funcție încorporată numită instance () care compară valoarea cu tipul dat. Valoarea și tipul dat se potrivește cu adevărat, altfel fals. Folosind isinstance (), puteți testa pentru șir, float, int, list, tuplu, dict, set, clasă etc.
  • Folosind metoda isinstance (), puteți testa pentru șir, float, int, list, tuplu, dict, set, clasă etc.