python學習之isinstance與type的區別
isinstance() 語法:
isinstance(object, classinfo)
其中,object 是變數,classinfo 是型別即 (tuple,dict,int,float,list,bool等) 和 class類
若引數 object 是 classinfo 類的例項,或者 object 是 classinfo 類的子類的一個例項, 返回 True。
若 object 不是一個給定型別的的物件, 則返回結果總是False。
若 classinfo 不是一種資料型別或者由資料型別構成的元組,將引發一個 TypeError 異常
type()語法:
type() #只接受一個引數
可以得到未知變數所屬的型別
相同點:
都可以判斷變數是否某個內建型別
>>> type({'s'})
<class 'set'>
>>> isinstance(3, int)
True
>>> type(3) is int
True
>>> isinstance(123, str)
False
>>> type(123) is str
False
>>> isinstance('abf', (str, float, int))
True
不同點:
isinstance可以用來判斷繼承關係,即子類物件是否繼承於父類
>>> class father(object):
... pass
...
>>> class son(father):
... pass
...
>>> isinstance(son(), father)
True
>>> type(son()) is father
False
總結:
使用場景不同,type主要用於獲取未知變數的型別,而instance用於繼承關係的判斷
參考文件:
https://blog.csdn.net/cn_wk/article/details/51314238
https://blog.csdn.net/xsj_blog/article/details/53369653
相關文章
- python的type和isinstance的區別Python
- python中isinstance()和type()有什麼區別?如何使用?Python
- Python學習之Pandas和Numpy的區別!Python
- Python學習系列之 xrange和range的區別!Python
- 深度學習與機器學習之間區別 - javaworld深度學習機器學習Java
- Python的集合與列表有什麼區別?Python學習教程Python
- Python學習之Django和其他Python框架有什麼區別?PythonDjango框架
- 深入學習typescript type型別TypeScript型別
- Python學習之Django和Flask框架有什麼區別?PythonDjangoFlask框架
- :first-child與:first-of-type 區別
- Python陣列和列表的區別?Python學習教程Python陣列
- python學習筆記–深拷貝與淺拷貝的區別Python筆記
- 大資料分析與機器學習之間的區別與聯絡大資料機器學習
- 菜鳥學Python之 _, __ 和 __xx__的區別Python
- Python中tuple和list的區別?Python基礎學習!Python
- Python中 ‘==‘ 與‘is‘的區別Python
- python學習之變數型別Python變數型別
- Python學習之資料型別Python資料型別
- 解決 TypeError: Type aliases cannot be used with isinstance(). 辦法Error
- Python2和Python3的區別?Python入門學習Python
- Go 中 type var string 和 type var = string 的區別Go
- 沙師弟學Python之 _, __ 和 __xx__的區別Python
- html中list-style-type與list-style的區別HTML
- Python之“==”和“is”區別Python
- python isinstance和issubclass,區分方法和函式,反射Python函式反射
- 字典和json的區別是什麼?Python學習JSONPython
- 談談機器學習與傳統程式設計之間的區別機器學習程式設計
- E:last-child與E:last-of-type區別AST
- ts中的type 和 interface 區別
- TypeScript中,type、interface、class的區別TypeScript
- TypeScript 裡 interface 和 type 的區別TypeScript
- <button>和<input type=“button“> 的區別
- Python學習四之變數型別Python變數型別
- 《Haskell趣學指南》筆記之型別(type)Haskell筆記型別
- Python學習之模組與包Python
- Python入門之迭代器與生成器的區別Python
- Python學習教程_Python語言中=和==有什麼區別?Python
- Python中列表、元組、字典有何區別?Python學習!Python