亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python異常處理、自定義異常、斷言原理與用法分析

 更新時間:2020年03月23日 11:55:35   作者:隨風(fēng)行云  
這篇文章主要介紹了python異常處理、自定義異常、斷言,結(jié)合實例形式分析了python異常處理、自定義異常、斷言相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下

本文實例講述了python異常處理、自定義異常、斷言原理與用法。分享給大家供大家參考,具體如下:

什么是異常:

  • 當(dāng)程序遭遇某些非正常問題的時候就會拋出異常:比如int()只能處理能轉(zhuǎn)化成int的對象,如果傳入一個不能轉(zhuǎn)化的對象就會報錯并拋出異常image
  • 常用的異常有:

ValueError :傳入無效的錯誤的參數(shù)image

TypeError:進行了對類型無效的操作image

IndexError:序列中沒有此索引image

NameError:使用未定義的變量image

 

更多更具體的異??梢詤⒖糚ython官方文檔image,讀讀官方文檔更健康


異常的處理:

  • python使用try,except,finally,else來處理異常,它們各自意義如下:

image

try:
  s=input("請輸入要int的字符串:")
  i=int(s)
except ValueError as e:
  print(e)
else:
  print("這里是當(dāng)沒有發(fā)生異常時的操作")
finally:
  print("這里是即使發(fā)生異常也會執(zhí)行的代碼")

"""第一次運行結(jié)果:
請輸入要int的字符串:123
這里是當(dāng)沒有發(fā)生異常時的操作
這里是即使發(fā)生異常也會執(zhí)行的代碼
"""
"""第二次運行結(jié)果
請輸入要int的字符串:abc
invalid literal for int() with base 10: 'abc'
這里是即使發(fā)生異常也會執(zhí)行的代碼
"""
  • except可以在一條except里捕獲多個異常,但需要用括號包裹多個異常,并且即使同時捕獲多個異常,由于異常會導(dǎo)致程序發(fā)生終止,所以只會捕獲到一個異常,所以只需要一個獲取異常返回對象的變量:image
  • 如果不確定捕獲什么異常,可以使用異常的基類Exception【更高級的可以使用BaseException】,并且最好把Exception放在所有except的最后:image

自定義異常:

  • 使用raise可以拋出自定義的異常信息image
  • 只要繼承了Exception,就可以定義自己的異常類:image
class myException(Exception):
  def __init__(self,msg):
     self.message=msg
  def __str__(self):###這里就是異常的字符串信息
    return self.message

try :
  raise myException("我的異常")#py3

except myException as e:
  print(e)
  
"""
結(jié)果:
我的異常
"""

斷言:

  • 意義:與其讓程序在運行最崩潰,不如在出現(xiàn)錯誤條件時就崩潰【比如說,老司機想要開車,隨便開車風(fēng)險很大的,使用斷言就好像先判斷路況如何,然后再開車,而不是說開車出去才發(fā)現(xiàn)交警大隊在等待】
police=False
assert police ==False
print("老司機開車啦,嗚嗚嗚")

police=True
assert police ==False
print("老司機開車啦,嗚嗚嗚")#報錯,AssertionError

更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python入門與進階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python3+django2.0+apache2+ubuntu14部署網(wǎng)站上線的方法

    Python3+django2.0+apache2+ubuntu14部署網(wǎng)站上線的方法

    這篇文章主要介紹了Python3+django2.0+apache2+ubuntu14部署網(wǎng)站上線的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 解決python中畫圖時x,y軸名稱出現(xiàn)中文亂碼的問題

    解決python中畫圖時x,y軸名稱出現(xiàn)中文亂碼的問題

    今天小編就為大家分享一篇解決python中畫圖時x,y軸名稱出現(xiàn)中文亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python for循環(huán)與getitem的關(guān)系詳解

    Python for循環(huán)與getitem的關(guān)系詳解

    這篇文章主要介紹了Python for循環(huán)與getitem的關(guān)系詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Python NumPy教程之遍歷數(shù)組詳解

    Python NumPy教程之遍歷數(shù)組詳解

    這篇文章主要為大家詳細介紹了Python?NumPy中遍歷數(shù)組的方法,文中的示例代碼講解詳細,對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下
    2022-08-08
  • Flask框架信號用法實例分析

    Flask框架信號用法實例分析

    這篇文章主要介紹了Flask框架信號用法,結(jié)合實例形式分析了Blinker的安裝及信號的接收等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • keras分類模型中的輸入數(shù)據(jù)與標簽的維度實例

    keras分類模型中的輸入數(shù)據(jù)與標簽的維度實例

    這篇文章主要介紹了keras分類模型中的輸入數(shù)據(jù)與標簽的維度實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python中django框架通過正則搜索頁面上email地址的方法

    python中django框架通過正則搜索頁面上email地址的方法

    這篇文章主要介紹了python中django框架通過正則搜索頁面上email地址的方法,涉及django框架及正則表達式的使用技巧,需要的朋友可以參考下
    2015-03-03
  • Python使用socket實現(xiàn)組播與發(fā)送二進制數(shù)據(jù)

    Python使用socket實現(xiàn)組播與發(fā)送二進制數(shù)據(jù)

    在工作中經(jīng)常會用到socket傳輸數(shù)據(jù),例如客戶端給服務(wù)器發(fā)送數(shù)據(jù)(雙方約定了數(shù)據(jù)格式),本文主要介紹了Python使用socket實現(xiàn)組播與發(fā)送二進制數(shù)據(jù),感興趣的可以了解一下
    2021-06-06
  • PyTorch中flatten()?函數(shù)的用法實例小結(jié)

    PyTorch中flatten()?函數(shù)的用法實例小結(jié)

    在PyTorch中,flatten函數(shù)的作用是將一個多維的張量轉(zhuǎn)換為一維的向量,它可以將任意形狀的張量轉(zhuǎn)換為一維,而不需要指定轉(zhuǎn)換后的大小,這篇文章主要介紹了PyTorch中flatten()?函數(shù)的用法,需要的朋友可以參考下
    2023-11-11
  • Python正則表達式re.search()用法詳解

    Python正則表達式re.search()用法詳解

    re是Python中最常見的正則表達式模塊,常用方法包括compile,match,findall,finditer,search,split,sub等,下面這篇文章主要給大家介紹了關(guān)于Python正則表達式re.search()用法詳解的相關(guān)資料,需要的朋友可以參考下
    2022-09-09

最新評論