Type () en isinstance () in Python met voorbeelden

Inhoudsopgave:

Anonim

Wat is type () in Python?

Python heeft een ingebouwde functie genaamd type () waarmee je het klassetype kunt vinden van de variabele die als invoer is opgegeven. Als de invoer bijvoorbeeld een tekenreeks is, krijgt u de uitvoer als , voor de lijst is dit , enz.

Met de opdracht type () kun je een enkel argument doorgeven, en de geretourneerde waarde is het klassetype van het gegeven argument, bijvoorbeeld: type (object).

Het is ook mogelijk om drie argumenten door te geven aan type (), dwz type (naam, bases, dict), in dat geval zal het u een nieuw type-object retourneren.

In deze tutorial leer je:

  • Wat is type () in Python?
  • Syntaxis voor type ():
  • Voorbeeld van type ()
  • Voorbeeld: type () gebruiken voor klasseobject.
  • Voorbeeld: gebruik van de naam, bases en dict in type ()
  • Wat is isinstance () in Python?
  • Syntaxis isinstance ():
  • Voorbeelden van isinstance ()
  • Verschil tussen type () en isinstance () in Python

Syntaxis voor type ():

type () kan op twee manieren worden gebruikt, zoals hieronder weergegeven:

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

Parameters : type (object)

  • object: Dit is een verplichte parameter. Als dit alleen een parameter is die is doorgegeven aan type (), dan zal het u het type parameter retourneren.

Parameters : type (naam, bases, dict)

  • naam: naam van de klas.
  • bases: (optioneel). Dit is een optionele parameter en het is de basisklasse
  • dict: (optioneel). Dit is een optionele parameter en het is een naamruimte met de definitie van de klasse.

Winstwaarde:

Als het object de enige parameter is die aan type () is doorgegeven, geeft het u het type object terug.

Als de aan het type doorgegeven parameter een type is (object, bases, dict), zal het in dat geval een nieuw type object retourneren.

Voorbeeld van type ()

In dit voorbeeld hebben we een tekenreekswaarde, getal, zwevende waarde, een complex getal, lijst, tuple, dict en set. We zullen de variabelen met type gebruiken om de uitvoer voor elk ervan te zien.

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

Uitgang:

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

Voorbeeld: type () gebruiken voor klasseobject.

Wanneer u het object dat is gemaakt vanuit een klasse met type () controleert, retourneert het het klassetype samen met de naam van de klasse. In dit voorbeeld zullen we een klasse maken en het objecttype controleren dat is gemaakt met de klassetest.

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

Uitgang:

Voorbeeld: gebruik van de naam, bases en dict in type ()

Het type kan ook worden aangeroepen met de syntaxis: type (naam, bases, dict).

De drie parameters die aan type () worden doorgegeven, dwz naam, grondslagen en dict zijn de componenten waaruit een klassendefinitie bestaat. De naam vertegenwoordigt de klassenaam, de bases is de basisklasse en dict is het woordenboek met kenmerken van de basisklasse.

In dit voorbeeld gaan we gebruik maken van alle drie de parameters, dwz name, bases en dict in type ().

Voorbeeld:

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

Uitgang:

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

Wanneer u alle drie de argumenten doorgeeft aan type (), helpt het u om een ​​nieuwe klasse te initialiseren met basisklasse-attributen.

Wat is isinstance () in Python?

Python isinstance maakt deel uit van de ingebouwde functies van Python. Python isinstance () neemt twee argumenten op en retourneert true als het eerste argument een instantie is van de classinfo die is opgegeven als het tweede argument.

Syntaxis isinstance ()

isinstance(object, classtype)

Parameters

  • object: een object waarvan u de instantie vergelijkt met classtype. Het zal true retourneren als het type overeenkomt met anders false.
  • klassetype: Een type of een klasse of een tupel van typen en / of klassen.

Winstwaarde:

Het zal true retourneren als het object een instantie van classtype is en false als dat niet het geval is.

Voorbeelden van isinstance ()

In dit gedeelte zullen we verschillende voorbeelden bestuderen om te leren isinstance ()

Voorbeeld: isinstance () Controle van gehele getallen

De onderstaande code vergelijkt de gehele waarde 51 met het type int. Het zal true teruggeven als het type 51 overeenkomsten is met int, anders false.

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

Uitgang:

age is an integer: True

Voorbeeld: isinstance () Float check

In dit voorbeeld gaan we de float-waarde vergelijken met het type float, dwz de waarde 3,14 zal worden vergeleken met het type float.

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

Uitgang:

pi is a float: True

Voorbeeld: isinstance () Tekenreekscontrole

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

Uitgang:

message is a string: True

Voorbeeld: isinstance () Tuple check

De code controleert op een tuple (1,2,3,4,5) met het type tuple. Het zal true retourneren als de gegeven invoer van het type tuple is en false als dat niet het geval is.

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

Uitgang:

my_tuple is a tuple: True

Voorbeeld: isinstance () Zet ​​een vinkje

De code controleert op een set ({1,2,3,4,5}, met type set. Het zal true retourneren als de gegeven invoer van het type set is en false als dat niet het geval is.

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

Uitgang:

my_set is a set: True

Voorbeeld: isinstance () lijstcontrole

De code controleert op een lijst [1,2,3,4,5], met typelijst. Het zal true retourneren als de gegeven invoer van het type list is en false als dat niet het geval is.

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

Uitgang:

my_list is a list: True

Voorbeeld: isinstance () dict check

De code controleert op een dict ({"A": "a", "B": "b", "C": "c", "D": "d"}, met type dict. Het zal true retourneren als de gegeven invoer is van het type dict en false indien niet.

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

Uitgang:

my_dict is a dict: True

Voorbeeld: isinstance () test voor een klasse

De code toont de typecontrole van klasse met isinstance (). Het object van de klasse wordt vergeleken met de naam van de klasse binnen isinstance (). Het retourneert true als het object tot de klasse behoort en anders false.

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

Uitgang:

_class is a instance of MyClass() True

Verschil tussen type () en isinstance () in Python

type() isinstance ()
Python heeft een ingebouwde functie genaamd type () waarmee je het klassetype kunt vinden van de variabele die als invoer is opgegeven. Python heeft een ingebouwde functie genaamd isinstance () die de waarde vergelijkt met het gegeven type. Als de opgegeven waarde en het opgegeven type overeenkomen, wordt true geretourneerd, anders false.
De geretourneerde waarde is een type-object De geretourneerde waarde is een Booleaanse waarde, dwz true of false.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)
Uitgang:
TrueFalse
In het geval van type geeft de subclasscheck false terug.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))
Uitgang:
TrueTrue
isinstance () geeft een waarheidsgetrouwe waarde wanneer gecontroleerd met een subklasse.

Overzicht:

  • Python heeft een ingebouwde functie genaamd type () waarmee je het klassetype kunt vinden van de variabele die als invoer is opgegeven. Als de invoer bijvoorbeeld een tekenreeks is, krijgt u de uitvoer als , voor de lijst is dit , enz.
  • Voor type () kunt u een enkel argument doorgeven, en de geretourneerde waarde is het klassetype van het gegeven argument, bijvoorbeeld type (object).
  • Het is ook mogelijk om drie argumenten door te geven aan type (), dwz type (naam, bases, dict), in dat geval zal het u een nieuw type-object retourneren.
  • Python heeft een ingebouwde functie genaamd instance () die de waarde vergelijkt met het gegeven type. Als de opgegeven waarde en het opgegeven type overeenkomen, wordt true geretourneerd, anders false. Met isinstance () kun je testen op string, float, int, list, tuple, dict, set, class, etc.
  • Met de methode isinstance () kun je testen op string, float, int, list, tuple, dict, set, class, etc.