python內(nèi)置函數(shù)isinstance的用法

isinstance說明如下:
isinstance(object, class-or-type-or-tuple) -> bool

Return whether an object is an instance of a class or of a subclass thereof.  
With a type as second argument, return whether that is the object's type.  
The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for  
isinstance(x, A) or isinstance(x, B) or ... (etc.).  

其第一個參數(shù)為對象,第二個為類型名或類型名的一個列表。其返回值為布爾型。若對象的類型與參數(shù)二的類型相同則返回True。若參數(shù)二為一個元組,則若對象類型與元組中類型名之一相同即返回True。

例一

>>>a = 4
>>>isinstance (a,int)
True
>>>isinstance (a,str)
False
>>>isinstance (a,(str,int,list))
True

例二

>>>a = "b"
>>>isinstance(a,str)
True
>>>isinstance(a,int)
False
>>>isinstance(a,(int,list,float))
False
>>>isinstance(a,(int,list,float,str))
True

例三

'''取出一個列表中的元素,其中有的元素可能是列表或者元祖'''

def myextend(alist):
    blist = []
    for item in alist:
        if isinstance(item, (list, tuple)):
            blist.extend(myextend(item))
        else:
            blist.append(item)
    return blist

alist = [1, 2, [3, 4], 5, [6, ["7", "8"], 9], 10, (11, 12)]
blist = myextend(alist)
print(blist)

>>> [1, 2, 3, 4, 5, 6, '7', '8', 9, 10, 11, 12]
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 內(nèi)置函數(shù)Python解釋器內(nèi)置了許多功能和類型,總是可用的。他們是按字母順序列在這里。 abs(x)返回一個數(shù)的絕...
    uangianlap閱讀 1,367評論 0 0
  • Python 是一種相當高級的語言,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機器碼...
    Python程序媛閱讀 2,039評論 0 3
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 1. abs(x) abs()函數(shù)返回數(shù)字(可為普通型、長整型或浮點型)的絕對值。如果給出復數(shù),返回值就是該復數(shù)的...
    chen_000閱讀 460評論 0 0
  • 1. 最終實現(xiàn)的效果 2. 邏輯思路分析圖 3. 模塊分類 4. 需要使用的第三方包插件 5. 模塊分類 app....
    Robyn_Luo閱讀 228評論 0 0

友情鏈接更多精彩內(nèi)容