我們經(jīng)常需要在Python代碼中確定某個(gè)實(shí)例是什么類型的。通過type函數(shù)可以返回具體的類型名稱。另有一些場景下,只需要知道實(shí)例是否屬于某一些類型之一。例如要遍歷一個(gè)對象,要先判斷該實(shí)例是否為元組、列表或字典等可迭代類型之一。通過isinstance函數(shù)可以達(dá)到此目的。
isinstance(object,classinfo)
這個(gè)函數(shù)的功能簡單的說就是判斷object實(shí)例是否是classinfo類型的,如果是則返回TRUE,否則返回FALSE。classinfo參數(shù)有三種情況
1.類型,可以是基本的內(nèi)置數(shù)據(jù)類型或自定義的類型,例如:
isinstance(object,str)
isinstance(object,classA)
2.新式類型(new-styleclass),即typeobject,相關(guān)介紹參見:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects
調(diào)用方式同上。
3.元組,根據(jù)元組的元素類型,可以這樣混搭
1)元素是class或typeobject的元組,例如
isinstance(obj,(list,tuple))
2)元素本身是元組,例如
isinstance(obj,((classA,classB),(classC,classD),(classE,classF)))
3)元素本身是元組和class或typeobject的組合;
isinstance(obj,((classA,classB),(classC,classD),(classE,classF),str))
另外,如果object是classinfo所代表的類型或其元組中的類型的子類,同樣返回TRUE。
以上內(nèi)容為大家介紹了python培訓(xùn)之怎么判斷某一對象是否為字典,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。