Python isinstance()-Funktion
Beschreibung
Die isinstance()-Funktion wird verwendet, um festzustellen, ob ein Objekt einen bekannten Typ hat, ähnlich wie type().
Unterschied zwischen isinstance() und type():
type() betrachtet eine Unterklasse nicht als Typ der Elternklasse und berücksichtigt die Vererbung nicht.
isinstance() betrachtet eine Unterklasse als Typ der Elternklasse und berücksichtigt die Vererbung.
Wenn Sie feststellen möchten, ob zwei Typen identisch sind, wird isinstance() empfohlen.
Syntax
Die Syntax der isinstance()-Methode lautet:
isinstance(object, classinfo)
Parameters
- object -- Instanzobjekt.
- classinfo -- kann ein direkter oder indirekter Klassenname, ein Basistyp oder ein Tupel aus diesen sein.
Rückgabewert
Gibt True zurück, wenn der Typ des Objekts mit dem Typ des zweiten Parameters (classinfo) übereinstimmt, andernfalls wird False zurückgegeben.
Beispiele
Das Folgende zeigt Beispiele für die Verwendung der isinstance-Funktion:
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # Gibt True zurück, wenn es eines der Tupel ist
True
Unterschied zwischen type() und isinstance():
class A:
pass
class B(A):
pass
isinstance(A(), A) # gibt True zurück
type(A()) == A # gibt True zurück
isinstance(B(), A) # gibt True zurück
type(B()) == A # gibt False zurück
Python Built-in-Funktionen