python中isinstance用法_Python内置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.
說(shuō)明:
1. 函數(shù)功能用于判斷對(duì)象是否是類型對(duì)象的實(shí)例,object參數(shù)表示需要檢查的對(duì)象,calssinfo參數(shù)表示類型對(duì)象。
2. 如果object參數(shù)是classinfo類型對(duì)象(或者classinfo類對(duì)象的直接、間接、虛擬子類)的實(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í)例
True
3. 如果object參數(shù)傳入的是類型對(duì)象,則始終返回False。>>> isinstance(str,str)
False
>>> isinstance(bool,int)
False
4. 如果classinfo類型對(duì)象,是多個(gè)類型對(duì)象組成的元組,如果object對(duì)象是元組的任一類型對(duì)象中實(shí)例,則返回True,否則返回False。>>> isinstance(a,(B,C))
False
>>> isinstance(a,(A,B,C))
True
5. 如果classinfo類型對(duì)象,不是一個(gè)類型對(duì)象或者由多個(gè)類型對(duì)象組成的元組,則會(huì)報(bào)錯(cuò)(TypeError)。>>> isinstance(a,[A,B,C])
Traceback (most recent call last):
File "", line 1, in
isinstance(a,[A,B,C])
TypeError: isinstance() arg 2 must be a type or tuple of types
超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的python中isinstance用法_Python内置isinstance函数详细介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python psutil库安装_安装p
- 下一篇: qpython怎么用matplotlib