最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python數(shù)據(jù)類型判斷type與isinstance的區(qū)別實(shí)例解析

 更新時間:2017年10月31日 08:37:47   投稿:mengwei  
這篇文章主要介紹了python數(shù)據(jù)類型判斷type與isinstance的區(qū)別實(shí)例解析,具有一定參考價值,需要的朋友可以了解下。

在項(xiàng)目中,我們會在每個接口驗(yàn)證客戶端傳過來的參數(shù)類型,如果驗(yàn)證不通過,返回給客戶端“參數(shù)錯誤”錯誤碼。
這樣做不但便于調(diào)試,而且增加健壯性。因?yàn)榭蛻舳耸强梢宰鞅椎?,不要輕易相信客戶端傳過來的參數(shù)。

驗(yàn)證類型用type函數(shù),非常好用,比如

>>type('foo') == str
True
>>type(2.3) in (int,float)
True

既然有了type()來判斷類型,為什么還有isinstance()呢?

一個明顯的區(qū)別是在判斷子類。

type()不會認(rèn)為子類是一種父類類型。

isinstance()會認(rèn)為子類是一種父類類型。

千言不如一碼。

class Foo(object):
  pass
  
class Bar(Foo):
  pass
  
print type(Foo()) == Foo
print type(Bar()) == Foo
print isinstance(Bar(),Foo)
  
class Foo(object):
  pass
  
class Bar(Foo):
  pass
  
print type(Foo()) == Foo
print type(Bar()) == Foo
print isinstance(Bar(),Foo)
輸出
True
False
True

需要注意的是,舊式類跟新式類的type()結(jié)果是不一樣的。舊式類都是<type 'instance'>。

class A:
  pass
class B:
  pass
class C(object):
  pass
print 'old style class',type(A())
print 'old style class',type(B())
print 'new style class',type(C())
print type(A()) == type(B())
class A:
  pass
class B:
  pass
class C(object):
  pass
print 'old style class',type(A())
print 'old style class',type(B())
print 'new style class',type(C())
print type(A()) == type(B())
輸出
old style class <type 'instance'>
old style class <type 'instance'>
new style class <class '__main__.C'>
True

不存在說isinstance比type更好。只有哪個更適合需求。

總結(jié)

以上就是本文關(guān)于python數(shù)據(jù)類型判斷type與isinstance的區(qū)別實(shí)例解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Python編程之黑板上排列組合,你舍得解開嗎淺談Python由__dict__和dir()引發(fā)的一些思考等,有什么問題可以留言,大家一起交流討論。

相關(guān)文章

  • numpy系列之?dāng)?shù)組合并(橫向和縱向)

    numpy系列之?dāng)?shù)組合并(橫向和縱向)

    本文主要介紹了numpy系列之?dāng)?shù)組合并(橫向和縱向),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 利用python繪制立體玫瑰花代碼示例

    利用python繪制立體玫瑰花代碼示例

    這篇文章主要給大家介紹了關(guān)于如何利用python繪制立體玫瑰花的相關(guān)資料,利用python繪制一朵玫瑰,快拿去送給你心愛的人吧!需要的朋友可以參考下
    2023-09-09
  • 在RedHat系Linux上部署Python的Celery框架的教程

    在RedHat系Linux上部署Python的Celery框架的教程

    這篇文章主要介紹了在RedHat系Linux上部署Python的Celery框架的教程, Celery是一個并行分布框架,擁有良好的I/O性能,需要的朋友可以參考下
    2015-04-04
  • python學(xué)生管理系統(tǒng)代碼實(shí)現(xiàn)

    python學(xué)生管理系統(tǒng)代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了python學(xué)生管理系統(tǒng)代碼實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 用python生成與調(diào)用cntk模型代碼演示方法

    用python生成與調(diào)用cntk模型代碼演示方法

    今天小編就為大家分享一篇用python生成與調(diào)用cntk模型代碼演示方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python辦公自動化之CSV文件的運(yùn)用和管理

    Python辦公自動化之CSV文件的運(yùn)用和管理

    Python辦公?動化是利?Python編程語?來創(chuàng)建腳本和程序,以簡化、加速和?動化?常辦公任務(wù)和?作流程的過程,本文主要來介紹一下如何利用Python進(jìn)行CSV文件的運(yùn)用和管理,感興趣的可以了解下
    2023-12-12
  • Python os.listdir與os.walk實(shí)現(xiàn)獲取路徑詳解

    Python os.listdir與os.walk實(shí)現(xiàn)獲取路徑詳解

    這篇文章主要介紹了Python使用os.listdir和os.walk獲取文件路徑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-10-10
  • Python 中最長公共子序列的長度

    Python 中最長公共子序列的長度

    子序列是在不改變剩余字符的順序的情況下,在刪除一些字符或不刪除任何字符后從給定序列獲得的序列,這篇文章主要介紹了Python 中的最長公共子序列,需要的朋友可以參考下
    2023-06-06
  • YOLO?v5引入解耦頭部完整步驟

    YOLO?v5引入解耦頭部完整步驟

    網(wǎng)上有很多添加解耦頭的博客,在此記錄下我使用解耦頭對YOLOv5改進(jìn),下面這篇文章主要給大家介紹了關(guān)于YOLO?v5引入解耦頭部的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • python實(shí)現(xiàn)tail實(shí)時查看服務(wù)器日志示例

    python實(shí)現(xiàn)tail實(shí)時查看服務(wù)器日志示例

    今天小編就為大家分享一篇python實(shí)現(xiàn)tail實(shí)時查看服務(wù)器日志示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論

金山区| 宜阳县| 屯门区| 尚义县| 弋阳县| 离岛区| 昌黎县| 兴山县| 寿阳县| 翁源县| 德昌县| 洛隆县| 周至县| 建宁县| 鄂托克旗| 建阳市| 达尔| 安岳县| 繁峙县| 大石桥市| 灵宝市| 陆丰市| 石棉县| 界首市| 凯里市| 平顶山市| 叙永县| 河曲县| 叙永县| 延寿县| 六枝特区| 山东省| 桃源县| 玉门市| 湖州市| 上饶县| 封丘县| 南通市| 宁城县| 集安市| 大邑县|