Type () og isinstance () i Python med eksempler

Indholdsfortegnelse:

Anonim

Hvad er type () i Python?

Python har en indbygget funktion kaldet type (), der hjælper dig med at finde klassetypen for variablen, der er angivet som input. For eksempel, hvis input er en streng, får du output som , for listen vil det være osv.

Ved hjælp af kommandoen type () kan du sende et enkelt argument, og returværdien vil være klassetypen for det givne argument, eksempel: type (objekt).

Det er også muligt at videregive tre argumenter til type (), dvs. type (navn, baser, dict), i så fald vil det give dig et nyt typeobjekt.

I denne vejledning lærer du:

  • Hvad er type () i Python?
  • Syntaks for type ():
  • Eksempel på type ()
  • Eksempel: Brug type () til klasseobjekt.
  • Eksempel: Brug af navn, baser og dikter i type ()
  • Hvad er isinstance () i Python?
  • Syntaks isinstance ():
  • Eksempler på isinstance ()
  • Forskellen mellem type () og isinstance () i Python

Syntaks for type ():

type () kan bruges på to måder som vist nedenfor:

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

Parametre : type (objekt)

  • objekt: Dette er en obligatorisk parameter. Hvis dette kun er parameter, der sendes til type (), vil den returnere dig til parameterens type.

Parametre : type (navn, baser, dict)

  • navn: klassens navn.
  • baser: (valgfrit). Dette er en valgfri parameter, og det er basisklassen
  • dict: (valgfrit). Dette er en valgfri parameter, og det er et navneområde, der har definitionen af ​​klassen.

Returværdi:

Hvis objektet er den eneste parameter, der sendes til type (), returnerer det objektets type.

Hvis de parametre, der sendes til typen, er en type (objekt, baser, dict), returnerer den i så fald en ny type objekt.

Eksempel på type ()

I dette eksempel har vi en strengværdi, nummer, floatværdi, et komplekst tal, liste, tuple, dict og sæt. Vi bruger variablerne med typen til at se output for hver af dem.

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

Produktion:

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

Eksempel: Brug type () til klasseobjekt.

Når du tjekker objektet, der er oprettet fra en klasse ved hjælp af type (), returnerer det klassetypen sammen med navnet på klassen. I dette eksempel opretter vi en klasse og kontrollerer objekttypen oprettet fra klassetesten.

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

Produktion:

Eksempel: Brug af navn, baser og dikter i type ()

Typen kan også kaldes ved hjælp af syntaksen: type (navn, baser, dict).

De tre parametre, der sendes til type (), dvs. navn, baser og dict, er de komponenter, der udgør en klassedefinition. Navnet repræsenterer klassens navn, baserne er basisklassen, og dict er ordbogen for attributterne til baseklassen.

I dette eksempel vil vi gøre brug af alle tre parameter, dvs. navn, baser og dikter i type ().

Eksempel:

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

Produktion:

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

Når du videregiver alle tre argumenter til at skrive (), hjælper det dig med at initialisere ny klasse med basisklasseattributter.

Hvad er isinstance () i Python?

Python isinstance er en del af python-indbyggede funktioner. Python isinstance () tager to argumenter ind, og det returnerer sandt, hvis det første argument er en forekomst af classinfo givet som det andet argument.

Syntaks erinstans ()

isinstance(object, classtype)

Parametre

  • objekt: Et objekt, hvis eksempel du sammenligner med classtype. Det vil returnere sandt, hvis typen matcher ellers falsk.
  • klassetype: En type eller en klasse eller en tuple af typer og / eller klasser.

Returværdi:

Det vil returnere sandt, hvis objektet er en forekomst af classtype og falsk, hvis ikke.

Eksempler på isinstance ()

I dette afsnit vil vi studere forskellige eksempler for at lære isinstance ()

Eksempel: isinstance () Heltalscheck

Koden nedenfor sammenligner heltal 51 med typen int. Det vil returnere sandt, det er typen af ​​51 matches med int ellers falsk.

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

Produktion:

age is an integer: True

Eksempel: isinstance () Flydekontrol

I dette eksempel skal vi sammenligne floatværdien med typen float, dvs. 3.14-værdien sammenlignes med typen float.

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

Produktion:

pi is a float: True

Eksempel: isinstance () Strengekontrol

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

Produktion:

message is a string: True

Eksempel: isinstance () Tuple check

Koden kontrollerer for en tuple (1,2,3,4,5) med typen tuple. Det vil blive sandt, hvis det givne input er af typen tuple og falsk, hvis ikke.

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

Produktion:

my_tuple is a tuple: True

Eksempel: isinstance () Indstil kontrol

Koden kontrollerer for et sæt ({1,2,3,4,5} med typesæt. Det returnerer sandt, hvis det angivne input er af typen sæt og falsk, hvis ikke).

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

Produktion:

my_set is a set: True

Eksempel: isinstance () listecheck

Koden søger efter en liste [1,2,3,4,5] med typeliste. Det vil returnere sandt, hvis det givne input er af typelisten og falsk, hvis ikke.

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

Produktion:

my_list is a list: True

Eksempel: isinstance () dict check

Koden kontrollerer for en diktat ({"A": "a", "B": "b", "C": "c", "D": "d"}, med typen dict. Den vil blive sand, hvis det givne input er af typen dict og false hvis ikke.

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

Produktion:

my_dict is a dict: True

Eksempel: test af isinstance () på en klasse

Koden viser typekontrol af klasse med isinstance (). Klassens objekt sammenlignes med navnet på klassen inde i isinstance (). Det returnerer sandt, hvis objektet hører til klassen og falsk ellers.

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

Produktion:

_class is a instance of MyClass() True

Forskellen mellem type () og isinstance () i Python

type() isinstance ()
Python har en indbygget funktion kaldet type (), der hjælper dig med at finde klassetypen for variablen, der er angivet som input. Python har en indbygget funktion kaldet isinstance (), der sammenligner værdien med den angivne type. Hvis den givne værdi og type stemmer overens, returneres den ellers falsk.
Returneringsværdien er et typeobjekt Returneringsværdien er en boolsk, dvs. sand eller falsk.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)
Produktion:
TrueFalse
I tilfælde af type giver underklassekontrollen falsk tilbage.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))
Produktion:
TrueTrue
isinstance () giver en sandhedsværdi, når den kontrolleres med en underklasse.

Resumé:

  • Python har en indbygget funktion kaldet type (), der hjælper dig med at finde klassetypen for variablen, der er angivet som input. For eksempel, hvis input er en streng, får du output som , for listen vil det være osv.
  • For type () kan du sende et enkelt argument, og returværdien vil være klassetypen for det givne argument, f.eks. Type (objekt).
  • Det er også muligt at videregive tre argumenter til type (), dvs. type (navn, baser, dict), i så fald vil det give dig et nyt typeobjekt.
  • Python har en indbygget funktion kaldet instans (), der sammenligner værdien med den angivne type. Det givne værdi og type matcher det vil returnere sandt ellers falsk. Ved hjælp af isinstance () kan du teste for streng, float, int, liste, tuple, dict, sæt, klasse osv.
  • Ved hjælp af isinstance () -metoden kan du teste for streng, float, int, liste, tuple, dict, sæt, klasse osv.