Heim > Artikel > Backend-Entwicklung > Detaillierte Einführung in die integrierte isinstance-Funktion von Python
Englische Dokumentation:
Return true if Das Argument „Objekt“ ist eine Instanz des Arguments „Klasseninfo“ oder einer (direkten, indirekten oder virtuellen) Unterklasse davon. Wenn „Objekt“ kein Objekt des angegebenen Typs ist, gibt die Funktion immer „false“ zurück, wenn „Klasseninfo“ ein Tupel vom Typ ist Objekte (oder rekursiv andere solche Tupel) geben true zurück, wenn das Objekt eine Instanz eines der Typen ist. Wenn classinfo kein Typ oder Tupel von Typen und solchen Tupeln ist, wird eine TypeError-Ausnahme ausgelöst.
Beschreibung:
1. Die Funktion wird verwendet, um zu bestimmen, ob ein Objekt eine Instanz eines Typobjekts ist. Der Objektparameter stellt das Objekt dar, das überprüft werden muss , und der Parameter calssinfo stellt das Typobjekt dar.
2. Wenn der Objektparameter eine Instanz eines Objekts vom Typ classinfo (oder eine direkte, indirekte oder virtuelle Unterklasse eines Objekts der Klasse classinfo) ist, wird True zurückgegeben.
>>> isinstance(1,int) True >>> isinstance(1,str) False # 定义3各类:C继承B,B继承A >>> class A: pass >>> class B(A): pass >>> class C(B): pass >>> a = A() >>> b = B() >>> c = C() >>> isinstance(a,A) #直接实例 True >>> isinstance(a,B) False >>> isinstance(b,A) #子类实例 True >>> isinstance(c,A) #孙子类实例 True
3. Wenn der Objektparameter in einem Typobjekt übergeben wird, wird immer False zurückgegeben.
>>> isinstance(str,str) False >>> isinstance(bool,int) False
4. Wenn das Classinfo-Typobjekt ein Tupel ist, das aus mehreren Typobjekten besteht, und wenn das Objektobjekt eine Instanz eines beliebigen Typobjekts im Tupel ist, wird True zurückgegeben . Andernfalls wird False zurückgegeben.
>>> isinstance(a,(B,C)) False >>> isinstance(a,(A,B,C)) True
5. Wenn das Classinfo-Typobjekt kein Typobjekt oder ein Tupel ist, das aus mehreren Typobjekten besteht, wird ein Fehler (TypeError) gemeldet.
>>> isinstance(a,[A,B,C]) Traceback (most recent call last): File "<pyshell#23>", line 1, in <module> isinstance(a,[A,B,C]) TypeError: isinstance() arg 2 must be a type or tuple of types
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die integrierte isinstance-Funktion von Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!