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

Python異常學(xué)習(xí)筆記

 更新時間:2015年02月03日 11:30:03   投稿:junjie  
這篇文章主要介紹了Python異常學(xué)習(xí)筆記,本文著重講解了如何自定義一個異常,需要的朋友可以參考下

異常(exceptions)是Python中一種非常重要的類型,它和語法錯誤不同,是在程序運行期間引發(fā)的錯誤。Python中內(nèi)置了很多異常,如IOError,NameError,KeyboardInterrupt等,更多的異常可以點擊這里。

異常的意義在于提供一種更加優(yōu)雅的運行方式,例如用Python編寫一個計算器,如果用戶輸入不能計算的對象,則可以拋出異常,并進行處理, 如下:

while True:
  try:
    x= int(input('Please In enter A number:'))
    print "Your Input is %s"%x
    break
  except Exception,e:
    print e

Python是一門面向?qū)ο蟮恼Z言,異常本身也是對象, 用dir(Exception)查看Exception類的屬性,如下:[‘__class__', ‘__delattr__', ‘__dict__', ‘__doc__', ‘__format__', ‘__getattribute__', ‘__getitem__', ‘__getslice__', ‘__hash__', ‘__init__', ‘__new__', ‘__reduce__', ‘__reduce_ex__', ‘__repr__', ‘__setattr__', ‘__setstate__', ‘__sizeof__','__str__', ‘__subclasshook__', ‘__unicode__', ‘a(chǎn)rgs', ‘message'], 除開args和message外,其余的均為其內(nèi)部屬性, 其中args是傳遞給異常類的構(gòu)造函數(shù)的一個類型為元祖的參數(shù), 一些內(nèi)置函數(shù),如IOError需要它接收多個參數(shù),其它的則直接是直接傳遞一個錯誤提示字符串。

Python的異??梢酝ㄟ^try語句來檢查,任何在try語句塊里的代碼都會被監(jiān)測,檢查有無異常產(chǎn)生,except會根據(jù)輸入檢查異常的類型,并執(zhí)行except內(nèi)的代碼。那么,這里就不禁要問問,except后面的兩個參數(shù)到底是什么?如果第一個是錯誤的類型,那么第二參數(shù)呢?對其進行檢測,發(fā)現(xiàn)它是屬于Exception的實例,也就是說,它是由異常類產(chǎn)生的一個具體的異常對象。
那么,用戶如果自定義一個異常呢?Python中規(guī)定,所有異常必須直接或者間接的繼承自Exception類,如下,自定義的異常:

#!/usr/bin/env python
class MyError(Exception):
  def __init__(self,*args):
    self.value=args[0]
  def __str__(self):
    return repr(self.value)
def showname(*args):
  if args:
    print args
  else:
    raise MyError('Error: need 1 arguments at last, 0 Input')

把這個文件保存為showname.py,其它模塊就可以引入調(diào)用showname函數(shù),并對它執(zhí)行的結(jié)果進行檢測:

#!/usr/bin/env python
import showname
try:
  showname.showname()
except showname.MyError,e:
  print e

值得注意的幾點是:1, python中用raise拋出異常; 2, 由于所有異常都是繼承自Exception,所以,當不確定異常類型的時候,可以在except后面直接接Exception來捕獲所有異常;3,由于異常的繼承關(guān)系,異常內(nèi)的所有屬性都是可以被重定義的,也可以在自定義的異常上增加屬性。

您可能感興趣的文章:

相關(guān)文章

  • pandas多級分組實現(xiàn)排序的方法

    pandas多級分組實現(xiàn)排序的方法

    下面小編就為大家分享一篇pandas多級分組實現(xiàn)排序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 淺談TensorFlow中讀取圖像數(shù)據(jù)的三種方式

    淺談TensorFlow中讀取圖像數(shù)據(jù)的三種方式

    這篇文章主要介紹了淺談TensorFlow中讀取圖像數(shù)據(jù)的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python標準庫使用OrderedDict類的實例講解

    Python標準庫使用OrderedDict類的實例講解

    今天小編就為大家分享一篇關(guān)于Python標準庫使用OrderedDict類的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • PyTorch零基礎(chǔ)入門之邏輯斯蒂回歸

    PyTorch零基礎(chǔ)入門之邏輯斯蒂回歸

    PyTorch是一個開源的Python機器學(xué)習(xí)庫,基于Torch,用于自然語言處理等應(yīng)用程序,它是一個可續(xù)計算包,提供兩個高級功能:1、具有強大的GPU加速的張量計算(如NumPy)。2、包含自動求導(dǎo)系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)
    2021-10-10
  • Python利用SMTP發(fā)送郵件的常見問題與解決方案詳解

    Python利用SMTP發(fā)送郵件的常見問題與解決方案詳解

    在自動化辦公和系統(tǒng)開發(fā)中,郵件發(fā)送功能是常見的需求,本文將從實際案例出發(fā),分析常見的SMTP錯誤,并提供完整的解決方案,希望對大家有一定的幫助
    2025-04-04
  • python psutil庫安裝教程

    python psutil庫安裝教程

    這篇文章給大家介紹了python psutil庫安裝教程,首先要確認本機已安裝python環(huán)境,具體安裝過程大家參考下本文
    2018-03-03
  • Python文件系統(tǒng)模塊pathlib庫

    Python文件系統(tǒng)模塊pathlib庫

    這篇文章介紹了Python中的文件系統(tǒng)模塊pathlib庫,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • python實現(xiàn)中文分詞FMM算法實例

    python實現(xiàn)中文分詞FMM算法實例

    這篇文章主要介紹了python實現(xiàn)中文分詞FMM算法,實例分析了Python基于FMM算法進行中文分詞的實現(xiàn)方法,涉及Python針對文件、字符串及正則匹配操作的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • python中isoweekday和weekday的區(qū)別及說明

    python中isoweekday和weekday的區(qū)別及說明

    這篇文章主要介紹了python中isoweekday和weekday的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python基礎(chǔ)之元編程知識總結(jié)

    Python基礎(chǔ)之元編程知識總結(jié)

    很多人不理解“元編程”是個什么東西,關(guān)于它也沒有一個十分準確的定義.這篇文章要說的是Python里的元編程,實際上也不一定就真的符合“元編程”的定義.只不過我無法找到一個更準確的名字來代表這篇文章的主題,所以就借了這么一個名號,需要的朋友可以參考下
    2021-05-05

最新評論

河间市| 谷城县| 广西| 白沙| 蒙山县| 印江| 新昌县| 龙胜| 道孚县| 扶风县| 武陟县| 沙雅县| 阜新市| 桐乡市| 神农架林区| 汉源县| 都匀市| 望城县| 秭归县| 罗江县| 迭部县| 定襄县| 汉源县| 吉水县| 彭州市| 徐闻县| 永平县| 特克斯县| 北宁市| 固镇县| 泗洪县| 丹东市| 石林| 石渠县| 崇礼县| 崇左市| 英德市| 兰考县| 伊吾县| 庄浪县| 扶绥县|