Detaillierte Einführung in die integrierte isinstance-Funktion von Python

高洛峰
Freigeben: 2017-03-21 09:32:20
Original
2028 Leute haben es durchsucht

Englische Dokumentation:

isinstance(object, classinfo)

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
Nach dem Login kopieren

 3. Wenn der Objektparameter in einem Typobjekt übergeben wird, wird immer False zurückgegeben.

>>> isinstance(str,str)
False 
>>> isinstance(bool,int)
False
Nach dem Login kopieren

 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
Nach dem Login kopieren

 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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage