91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python異常的概述和利用

發布時間:2021-09-10 07:49:29 來源:億速云 閱讀:131 作者:chen 欄目:大數據

這篇文章主要介紹“python異常的概述和利用”,在日常操作中,相信很多人在python異常的概述和利用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python異常的概述和利用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、知識回顧:

上一節,我們講了生成器,我們先來回顧一下生成器的使用。
生成器:yield使得函數凍結且提交一個值。
每次使用生成器,我們以前都使用了for循環,實際上使用的是next函數來進行下一次迭代。
總結得出,我們使用的生成器依賴于一個函數。
所謂遞歸生成器,實則是在生成器中,再次調用生成器。
上一次我們沒有實測next函數調用的問題,以下進行補充。

補充next函數:

作用:主要是用來返回下一次迭代器的返回值。
使用方法:next(迭代器,[默認值])
如果直接使用兩次調用自定義迭代器函數的方式,將返回的是每一次迭代器的初始位置的值,也就是說,指針總是指向的是初始的位置。
我們應該把自定義的迭代器賦值給一個變量,然后再使用next函數對這個變量進行下一次迭代。
舉例:

#使用變量來表示一個實際的生成器對象

scq=shengChengqi()

print(next(scq))

print(next(scq))


二、異常概述

提問:什么是異常?

不是普通的正常的代碼執行情況。實際上是屬于系統內代碼有問題導致的報錯。異常,我們往往使用Exception來表示。

三、異常的分類

我們這里討論的異常主要分為兩大類。

一類是自動自動拋出的異常,系統編譯器自動判斷來拋出異常。

舉例:

laoliuAge=31/0

拋出異常ZeroDivisionError: division by zero

一類是人工手動拋出的異常,使用raise來手動拋出。

手動拋出異常使用:raise Exception,這里的Exception是一個異常類,類的話我就可以使用構造方法進行初始值的傳入。也就是說傳入的是異常的描述。我們可以使用raise Exception(“這里是我們的自定義異常”)

提問:實際中我們如何使用手動來拋出異常?

我們往往需要結合一些條件判斷來手工拋出異常。

舉例如下:

a=1

if a==1:

    raise Exception("這里是老劉拋出的異常")

else:

    print("沒有異常")

三、異常的利用

舉例:

1.判斷是否是int類型的數據

2.判斷是否是string類型的數據

歸納一下:

1.我們可以利用異常來做一些數據類型的轉換。

2.我們可以利用異常來進行數據類型的判斷。

四、重要的內建類異常

  • Exception所有異常的基類

  • AttributeError屬性引用或屬性失敗時拋出的異常

  • OSError當操作系統無法執行任務時拋出的異常

  • IndexError在使用序列中不存在的索引時拋出的異常

  • KeyError在使用映射中不存在的鍵值時拋出的異常

  • NameError找不到名字(變量)時拋出的異常

  • SyntaxError在代碼為錯誤形式時觸發

  • TypeError在內建操作或函數應用于錯誤類型的對象時拋出的異常

  • ValueError在內建操作或者函數應用于正確類型的對象,但該對象使用了不適合的值時拋出的異常

  • ZeroDivisionError在除法或者取模操作的第2個參數值為0時拋出的異常

五、總結強調

1.理解什么是異常?

2.理解異常的分類

3.掌握手動拋出異常的方法 

4.學會利用異常,把異常的拋出為己所用

本節源代碼:

# def shengChengqi():#     list1=[3,5,2]#     for i in list1:#         yield i## #使用變量來表示一個實際的生成器對象# scq=shengChengqi()# print(next(scq))# print(next(scq))# print(next(scq))# print(next(scq))
# laoliuAge=31/0# a=1# if a==1:#     raise Exception("這里是老劉拋出的異常")# else:#     print("沒有異常")

b="2"c=int(b)+2# try:#     c=b+2#     print(c)# except:#     print("程序有點小問題,請聯系管理員")

到此,關于“python異常的概述和利用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临武县| 家居| 商城县| 唐山市| 芮城县| 内丘县| 抚宁县| 元阳县| 宜昌市| 杭州市| 同仁县| 吉首市| 曲阳县| 泗水县| 安阳县| 伊吾县| 濉溪县| 陆良县| 黄骅市| 长岛县| 措勤县| 额济纳旗| 德化县| 从江县| 巨鹿县| 梨树县| 临沭县| 杨浦区| 石台县| 淮北市| 忻州市| 本溪| 灵丘县| 科技| 乐业县| 宜宾市| 德阳市| 乳山市| 乌海市| 兴义市| 禹州市|