日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python异常包_python异常处理与导入模块与导入包

發布時間:2025/4/16 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python异常包_python异常处理与导入模块与导入包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.什么是異常?

異常即是一個事件,該事件會在程序執行過程中發生,影響了程序的正常執行。

一般情況下,在Python無法正常處理程序時就會發生一個異常。

異常是Python對象,表示一個錯誤。

當Python腳本發生異常時我們需要捕獲處理它,否則程序會終止執行。

注:語法上的錯誤跟異常處理無關,必須在程序運行前就修正

二.異常處理

捕捉異常可以使用try/except語句。

try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常信息并處理。

如果你不想在異常發生時結束你的程序,只需在try里捕獲它。

語法:

if..else...處理

num1=input('>>: ') #輸入一個字符串試試

ifnum1.isdigit():

int(num1) #我們的正統程序放到了這里,其余的都屬于異常處理范疇

elifnum1.isspace():

print('輸入的是空格,就執行我這里的邏輯')

elif len(num1) ==0:

print('輸入的是空,就執行我這里的邏輯')

else:

print('其他情情況,執行我這里的邏輯')

1.if判斷式的異常處理只能針對某一段代碼,對于不同的代碼段的相同類型的錯誤你需要寫重復的if來進行處理。

2.在你的程序中頻繁的寫與程序本身無關,與異常處理有關的if,可讀性極其的差。

以下為簡單的try....except...else的語法:

try:

<語句> #運行別的代碼

except <名字>:

<語句> #如果在try部份引發了'name'異常

except <名字>,<數據>:

<語句> #如果引發了'name'異常,獲得附加的數據

else:

<語句> #如果沒有異常發生

#ry的工作原理是,當開始一個try語句后,python就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try子句先執行,接下來會發生什么依賴于執行時是否出現異常。

如果當try后的語句執行時發生異常,python就跳回到try并執行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。

如果在try后的語句里發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,并打印缺省的出錯信息)。

如果在try子句執行時沒有發生異常,python將執行else語句后的語句(如果有else的話),然后控制流通過整個try語句。

萬能的異常捕捉

s1 = 'hello'

try:

int(s1)exceptException as e:print(e)

捕捉異常的幾種方式

s1 = 'hello'

try:

int(s1)exceptIndexError as e:print(e)exceptKeyError as e:print(e)exceptValueError as e:print(e)

多分支

s1 = 'hello'

try:

int(s1)exceptIndexError as e:print(e)exceptKeyError as e:print(e)exceptValueError as e:print(e)exceptException as e:print(e)

s1 = 'hello'

try:

int(s1)exceptIndexError as e:print(e)exceptKeyError as e:print(e)exceptValueError as e:print(e)#except Exception as e:#print(e)

else:print('try內代碼塊沒有異常則執行我')finally:print('無論異常與否,都會執行該模塊,通常是進行清理工作')

#_*_coding:utf-8_*_

__author__ = 'Linhaifeng'

try:raise TypeError('類型錯誤')exceptException as e:print(e)

#_*_coding:utf-8_*_

__author__ = 'Linhaifeng'

classEgonException(BaseException):def __init__(self,msg):

self.msg=msgdef __str__(self):returnself.msgtry:raise EgonException('類型錯誤')exceptEgonException as e:print(e)

使用try..except的方式1:把錯誤處理和真正的工作分開來2:代碼更易組織,更清晰,復雜的工作任務更容易實現;3:毫無疑問,更安全了,不至于由于一些小的疏忽而使程序意外崩潰了;

#常見異常表

注:try...except應該盡量少用,因為它本身就是你附加給你的程序的一種異常處理的邏輯,加多了會使代碼可讀性變得非常差

Python 模塊

一個模塊就是一個包含了python定義和聲明的文件,文件名就是模塊名字加上.py的后綴。如果你退出python解釋器然后重新進入,那么你之前定義的函數或者變量都將丟失,因此我們通常將程序寫到文件中以便永久保存下來,需要時就通過python test.py方式去執行,此時test.py被稱為腳本script。

隨著程序的發展,功能越來越多,為了方便管理,我們通常將程序分成一個個的文件,這樣做程序的結構更清晰,方便管理。這時我們不僅僅可以把這些文件當做腳本去執行,還可以把他們當做模塊來導入到其他的模塊中,實現了功能的重復利用

3.如何使用模塊?

import引入

注:引入同一文件多次,只執行一次

#spam.py

print('from the spam.py')

money=1000

defread1():print('spam->read1->money',1000)defread2():print('spam->read2 calling read')

read1()defchange():globalmoney

money=0

#test.py

import spam #只在第一次導入時才執行spam.py內代碼,此處的顯式效果是只打印一次'from the spam.py',當然其他的頂級代碼也都被執行了,只不過沒有顯示效果.

importspamimportspamimportspam'''執行結果:

from the spam.py'''

模塊與命名空間

總結

以上是生活随笔為你收集整理的python异常包_python异常处理与导入模块与导入包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。