Was ist Isinstance in Python und wie wird es implementiert?

Dieser Artikel führt Sie in eine Methode ein, die Isinstance in Python ist, und gibt Ihnen eine gründliche konzeptionelle Erklärung mit Demonstration.

ist eine der leistungsstärksten Programmiersprachen auf dem heutigen Markt. Python unterstützt auch die Implementierung anderer Programmiersprachen in seinem Ökosystem wie Java, C sowie C ++. Von den vielen Modulen und Funktionen, die im Python-Ökosystem verfügbar sind, ist eines der anderen die isinstance in Python. Daher werden wir in diesem Artikel ausführlich über die isinstance, ihre Verwendung und die Funktionen sprechen, die sie auf den Tisch bringt.

Die folgenden Hinweise werden in diesem Artikel behandelt:



Lass uns anfangen!

Was ist Isinstance in Python?

Die Python-Instanz wird verwendet, um zu überprüfen, ob das erste Objekt, das das Argument ist, eine Instanz oder Unterklasse der classinfo-Klasse ist, die das zweite Argument ist.

Die Syntax für die isinstance in Python lautet wie folgt.

Datenstrukturen und Algorithmen im Java-Tutorial
isinstance (Objekt, Klasseninfo)

Lassen Sie uns sehen, welche Parameter und Rückgabewerte Isinstance in Python hat.

Parameter und Rückgabewert von Isinstance

Parameter

Nachdem Sie die Syntax für isinstance kennen, schauen wir uns den Parameter genauer an.

  1. Objekt: Dies ist das Objekt, das überprüft werden muss.
  2. Classinfo: Dies ist die Klasse, Info oder das Tupel von Klassen, gegen die das Objekt geprüft werden muss.

Rückgabewert

Wenn die isinstance in einem Programm verwendet wird, hängt der Rückgabewert von einer Reihe von Bedingungen ab, wie in den folgenden Zeigern erläutert.

  1. True wird zurückgegeben, wenn das Objekt eine Unterklasse der Klasseninfo oder ein Tupel von Klassen ist.
  2. False wird zurückgegeben, wenn das Objekt keine Unterklasse der Klasseninfo oder des Tupels von Klassen ist.

Wenn in einer bestimmten Situation die Klasseninfo kein Typ oder ein Tupel von Typen ist, wird eine Typfehlerausnahme auf dem Bildschirm des Benutzers ausgelöst.

Beispiele

Um die Verwendung von isinstance besser zu verstehen, werfen wir einen Blick auf einige Beispiele.

Beispiel 1

Klasse Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (Liste, Tupel))) print (isinstance (fooInstance, (Liste, Tupel, Foo)))

Ausgabe

Wahr

Falsch

Wahr

Isinstance In Python: Beispiel 2

Zahlen = [1, 2, 3] Ergebnis = isinstance (Zahlen, Liste) print (Zahlen, 'Instanz der Liste?', Ergebnis) result = isinstance (Zahlen, Diktat) print (Zahlen, 'Instanz des Diktats?', Ergebnis ) Ergebnis = isinstance (Zahlen, (Diktat, Liste)) print (Zahlen, 'Instanz des Diktats oder der Liste?', Ergebnis) number = 5 result = isinstance (Nummer, Liste) print (Nummer, 'Instanz der Liste?', Ergebnis) Ergebnis = isinstance (Nummer, int) print (Nummer, 'Instanz von int?', Ergebnis)

Ausgabe

[1, 2, 3] Instanz der Liste? Wahr

[1, 2, 3] Instanz des Diktats? Falsch

[1, 2, 3] Instanz eines Diktats oder einer Liste? Wahr

5 Instanz der Liste? Falsch

5 Instanz von int? Wahr

Beispiel 3

# Python-Code für die Klasse isinstance () Test: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (Liste, Tupel))) print (isinstance (TestInstance, (Liste, Tupel) , Prüfung)))

Ausgabe

Wahr

Falsch

Wahr

Fahren wir mit dem Artikel 'Isinstance In Python' fort und verstehen die Verwendung der Type-Methode.

Die Verwendung von Type in Python

Ähnlich wie bei isinstance gibt es in Python eine andere integrierte Methode, mit der der Typ pf-Variable überprüft wird, der zur Laufzeit verwendet wird. Wenn ein einzelnes Argument oder Objekt durch die type-Methode übergeben wird, wird der Typ des Objekts zurückgegeben, das zur Laufzeit verwendet wird.

Schauen Sie sich das folgende Beispiel an, um dies besser zu verstehen.

Isinstance In Python: Beispiel # 1.1

# Python-Codetyp () mit einem einzelnen Objektparameter x = 5 s = 'sampleoutput' y = [1,2,3] print (Typ (x)) print (Typ (en)) print (Typ (y))

Ausgabe

Klassenpfad unter Linux festlegen

Klasse 'int'

Klasse 'str'

Klasse 'Liste'

Beispiel # 1.2

# Python-Code für Typ () mit einem Namen, # Basen und Dikt-Parameter o1 = Typ ('X', (Objekt,), Dikt (a = 'Foo', b = 12)) print (Typ (o1)) print (vars (o1)) Klassentest: a = 'Foo' b = 12 o2 = Typ ('Y', (Test,), Dikt (a = 'Foo', b = 12)) print (Typ (o2)) print (vars (o2))

Ausgabe

{'B': 12, 'a': 'Foo', '__dict__' :, '__doc__': Keine, '__weakref__':}

{'B': 12, 'a': 'Foo', '__doc__': Keine}

Vergleichen wir Type und Isinstance in Python.

Unterschied zwischen Type () und Isinstance

Typ und isinstance in Python erfüllen zwei sehr unterschiedliche Funktionen. Schauen Sie sich die folgenden Hinweise an, um den Unterschied zwischen ihnen besser zu verstehen.

  1. Wenn Sie überprüfen müssen, ob ein Objekt einen bestimmten Typ hat, verwenden Sie am besten die isinstance. Dies liegt daran, dass die isinstance überprüfen kann, ob das im ersten Argument übergebene Objekt vom gleichen Typ ist wie das im zweiten Argument übergebene.
  2. Andererseits wird die Verwendung von Typ bevorzugt, wenn Sie einfach den Typ eines bestimmten Objekts überprüfen und nicht mit einem anderen vergleichen müssen.

Beispiel

# Python-Code zur Veranschaulichung der Enten-Typisierungsklasse Benutzer (Objekt): def __init __ (Selbst, Vorname): self.firstname = Vorname @property def Name (Selbst): Rückgabe der Klasse self.firstname Tier (Objekt): Klasse übergeben Fox (Tier) : name = 'Fox' Klasse Bär (Tier): name = 'Bär' # Verwenden Sie das Attribut .name (oder die Eigenschaft) unabhängig vom Typ für a in [Benutzer ('SampleOutput'), Fox (), Bär ()]. : print (a.name)

Ausgabe

SampleOutput

Fuchs

Bär

Ein weiterer Grund, die Typmethode nicht zu verwenden, ist die fehlende Vererbung. Schauen Sie sich die folgenden Beispiele an, um dies besser zu verstehen.

# Python-Code zur Veranschaulichung des Mangels an # Unterstützung für die Vererbung in der type () -Klasse MyDict (dict): '' 'Ein normales Diktat, das immer mit einem' Anfangsschlüssel '' 'def __init __ (self): self [erstellt wird 'initial'] = 'einige Daten' d = MyDict () print (Typ (d) == dict) print (Typ (d) == MyDict) d = dict () print (Typ (d) == dict) print (Typ (d) == MyDict)

Ausgabe

Arten der Transformation in der Informatik

Falsch

Wahr

Wahr

Falsch

Das bringt uns zum Ende dieses Artikels. Ich hoffe, Sie haben Isinstance in Python verstanden und was es tut.

Sie können sich eingehend mit Python und seinen verschiedenen Anwendungen vertraut machen für Live-Online-Schulungen mit 24-Stunden-Support und lebenslangem Zugriff.

Hast du eine Frage an uns? Erwähnen Sie sie im Kommentarbereich dieses Artikels und wir werden uns bei Ihnen melden.