Python内置函数(49)——isinstance
英文文檔:
isinstance(object,?classinfo)
Return true if the?object?argument is an instance of the?classinfo?argument, or of a (direct, indirect or?virtual) subclass thereof. If?object?is not an object of the given type, the function always returns false. If?classinfo?is a tuple of type objects (or recursively, other such tuples), return true if?object?is an instance of any of the types. If?classinfo?is not a type or tuple of types and such tuples, a?TypeError?exception is raised.
? 判斷對象是否是類或者類型元組中任意類元素的實(shí)例
說明:
o 1. 函數(shù)功能用于判斷對象是否是類型對象的實(shí)例,object參數(shù)表示需要檢查的對象,calssinfo參數(shù)表示類型對象。
2. 如果object參數(shù)是classinfo類型對象(或者classinfo類對象的直接、間接、虛擬子類)的實(shí)例,返回True。
>>> 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) #直接實(shí)例 True >>> isinstance(a,B) False >>> isinstance(b,A) #子類實(shí)例 True >>> isinstance(c,A) #孫子類實(shí)例 True3. 如果object參數(shù)傳入的是類型對象,則始終返回False。
>>> isinstance(str,str) False >>> isinstance(bool,int) False4. 如果classinfo類型對象,是多個類型對象組成的元組,如果object對象是元組的任一類型對象中實(shí)例,則返回True,否則返回False。
>>> isinstance(a,(B,C)) False >>> isinstance(a,(A,B,C)) True5. 如果classinfo類型對象,不是一個類型對象或者由多個類型對象組成的元組,則會報(bào)錯(TypeError)。
>>> 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轉(zhuǎn)載于:https://www.cnblogs.com/lincappu/p/8145108.html
總結(jié)
以上是生活随笔為你收集整理的Python内置函数(49)——isinstance的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。