聊一聊Python的变量类型判断type和isinstance
生活随笔
收集整理的這篇文章主要介紹了
聊一聊Python的变量类型判断type和isinstance
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- 正常情況下不應(yīng)該編寫代碼檢查類型的,而應(yīng)該直接假設(shè)被操作的instance具有你希望的屬性,否則拋出異常。
????即使需要檢查類型,也應(yīng)該用isinstance來判斷,這樣你期望類型的subclass也能正常被處理(比如,一個(gè)函數(shù)需要處理Message類型,那么它應(yīng)該也能處理Message的子類型MyMessage,所以應(yīng)該使用isinstance(arg,Message)這樣來判斷而不是type(arg) == Message來判斷)
- type和isinstance的區(qū)別(Python3.6環(huán)境)
1、type可以只接收一個(gè)參數(shù),打印其未知的所屬的類型;而isinstance只能判斷是否屬于某個(gè)已知類型,所以,isinstance效率更高一些
2、isinstance可以判斷子類對(duì)象是否繼承于父類;而type不可以,type只能把類對(duì)象識(shí)別為instance實(shí)例類型,即老式類都是通過instance創(chuàng)建的
當(dāng)我們對(duì)Python內(nèi)建類型進(jìn)行擴(kuò)展的時(shí)候,type返回的結(jié)果就不夠準(zhǔn)確了。
總結(jié)
以上是生活随笔為你收集整理的聊一聊Python的变量类型判断type和isinstance的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何从 0 到 1,搭建一个完整的 Ku
- 下一篇: Python获取控制台输入