這篇“python的isinstance函數(shù)怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python的isinstance函數(shù)怎么使用”文章吧。
創(chuàng)新互聯(lián)服務(wù)項目包括平江網(wǎng)站建設(shè)、平江網(wǎng)站制作、平江網(wǎng)頁制作以及平江網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,平江網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到平江省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
在python中,isinstance的意思是“類型判斷”。isinstance()是一個內(nèi)置函數(shù),用于判斷一個對象是否是一個已知的類型,語法“isinstance(object, type)”,如果是則返回True,否則返回False;而如果type參數(shù)是元組,而對象是元組中的類型之一,那么此函數(shù)也將返回True。
在python中,isinstance的意思是“類型判斷”。
python isinstance() 函數(shù)
isinstance() 函數(shù)來判斷一個對象是否是一個已知的類型,類似 type()。
isinstance() 與 type() 區(qū)別:
type() 不會認(rèn)為子類是一種父類類型,不考慮繼承關(guān)系。
isinstance() 會認(rèn)為子類是一種父類類型,考慮繼承關(guān)系。
如果要判斷兩個類型是否相同推薦使用 isinstance()。
如果指定的對象擁有指定的類型,則 isinstance() 函數(shù)返回 True,否則返回 False。
如果 type 參數(shù)是元組,則如果對象是元組中的類型之一,那么此函數(shù)將返回 True。
語法:
isinstance(object, type)
參數(shù) | 描述 |
---|---|
object | 必需。對象。 |
type | 類型或類,或類型和/或類的元組。 |
示例1:檢查 "Hello" 是否是 type 參數(shù)中描述的類型之一
x = isinstance("Hello", (str, float, int, str, list, dict, tuple))
print(x)
示例2:檢查 y 是否是 myObj 的實例
class myObj:
name = "Bill"
y = myObj()
x = isinstance(y, myObj)
print(x)
擴(kuò)展知識:type和isinstance的區(qū)別
python中type可以獲得一個對象的數(shù)據(jù)類型,isinstance可以判斷一個對象的數(shù)據(jù)類型,他們的區(qū)別有兩點
1. isinstance更加靈活
type只是返回一個對象的數(shù)據(jù)類型,而isinstance可以判斷這個對象的數(shù)據(jù)類型是否為某幾個數(shù)據(jù)類型中的一個。
假設(shè)我們要判斷一個對象的數(shù)據(jù)類型是否為int或者float,兩個函數(shù)的寫法示例如下
a = 4
# 使用type
if type(a) == int or type(a) == float:
print('yes')
# 使用isinstance
if isinstance(a, (int, float)):
print('yes')
顯然,在這種場景下,isinstance更有優(yōu)勢
2. 判斷存在繼承關(guān)系的情況
class A:
pass
class B(A):
pass
a = A()
b = B()
print(type(b) == A) # False
print(isinstance(b, A)) # True
B是A的子類, type(b)返回的是類B, 不等于A, 但B是A的子類,因此,我們可以認(rèn)為b也是A的對象,面對這種存在繼承關(guān)系的情況,應(yīng)當(dāng)使用isinstance。
以上就是關(guān)于“python的isinstance函數(shù)怎么使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。