您好,登錄后才能下訂單哦!
這篇“python的isinstance函數怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python的isinstance函數怎么使用”文章吧。
在python中,isinstance的意思是“類型判斷”。isinstance()是一個內置函數,用于判斷一個對象是否是一個已知的類型,語法“isinstance(object, type)”,如果是則返回True,否則返回False;而如果type參數是元組,而對象是元組中的類型之一,那么此函數也將返回True。
在python中,isinstance的意思是“類型判斷”。
python isinstance() 函數
isinstance() 函數來判斷一個對象是否是一個已知的類型,類似 type()。
isinstance() 與 type() 區別:
type() 不會認為子類是一種父類類型,不考慮繼承關系。
isinstance() 會認為子類是一種父類類型,考慮繼承關系。
如果要判斷兩個類型是否相同推薦使用 isinstance()。
如果指定的對象擁有指定的類型,則 isinstance() 函數返回 True,否則返回 False。
如果 type 參數是元組,則如果對象是元組中的類型之一,那么此函數將返回 True。
語法:
isinstance(object, type)
參數 | 描述 |
---|---|
object | 必需。對象。 |
type | 類型或類,或類型和/或類的元組。 |
示例1:檢查 "Hello" 是否是 type 參數中描述的類型之一
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)
擴展知識:type和isinstance的區別
python中type可以獲得一個對象的數據類型,isinstance可以判斷一個對象的數據類型,他們的區別有兩點
1. isinstance更加靈活
type只是返回一個對象的數據類型,而isinstance可以判斷這個對象的數據類型是否為某幾個數據類型中的一個。
假設我們要判斷一個對象的數據類型是否為int或者float,兩個函數的寫法示例如下
a = 4
# 使用type
if type(a) == int or type(a) == float:
print('yes')
# 使用isinstance
if isinstance(a, (int, float)):
print('yes')
顯然,在這種場景下,isinstance更有優勢
2. 判斷存在繼承關系的情況
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的子類,因此,我們可以認為b也是A的對象,面對這種存在繼承關系的情況,應當使用isinstance。
以上就是關于“python的isinstance函數怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。