python——異常處理

異常處理
try:
    print(num)
    print("*********")
except:
    print("捕獲到了異常")
print("##############")

打印結(jié)果:
捕獲到了異常
##############
try:
    11/0
    print(num)
    print("*********")
except (NameError,FileNotFoundError):
    print("捕獲到了異常")
except Exception as ret:
    print("只要上面的except沒有找到異常,這個(gè)異常一定能捕獲")
    print(ret)
else:
    print("沒有異常才會(huì)執(zhí)行的效果")
finally:
    print("不管有沒有產(chǎn)生異常,這句話總會(huì)執(zhí)行")
print("##############")

運(yùn)行結(jié)果:
只要上面的except沒有找到異常,這個(gè)異常一定能捕獲
division by zero
不管有沒有產(chǎn)生異常,這句話總會(huì)執(zhí)行
##############
異常傳遞
拋出自定義異常
image.png
異常處理中拋出異常
image.png
模塊
#導(dǎo)入其他模塊,可以直接調(diào)用其他模塊里的方法
import sendmsg
sendmsg test1()
#導(dǎo)入某個(gè)模塊的某個(gè)方法
from sendmsg import test1, test2
test1()

也可以使用這個(gè)導(dǎo)入所有的東西

from sendmsg import *
import time as tt
tt.sleep(3)

name:是系統(tǒng)自定義的變量
print("name")
如果是python自己調(diào)用,他相當(dāng)于是一個(gè)字符串,如果別人導(dǎo)入此模塊,則打印的是這個(gè)模塊的名字

if __name__ =="__main__"
test()
test1()
all

只要模塊里面有all,則加入此列表的方法被別的模塊調(diào)用時(shí)才可以使用,否則,無法調(diào)用

__all__ = ["test1"]
def testxjx():
    print("xjx")
def test1():
    print("1111111")
def test2():
    print("22222222")

如果文件結(jié)構(gòu)是下面這樣,就不能通過import 文件夾名 導(dǎo)入并調(diào)用文件。

image.png

此時(shí)只要給TestMsg下新建一個(gè) init.py ,如下結(jié)構(gòu),此時(shí)這個(gè)文件夾就成為一個(gè)包。
image.png

然后在init.py文件中寫入:

__all__ = ["sendmsg"]
from . import sendmsg #用這個(gè)python2和python3都可以用
print("hahahahha") #直接導(dǎo)入包時(shí),會(huì)先執(zhí)行包里的內(nèi)容

此時(shí)才可以使用sendmsg這個(gè)模塊,并調(diào)用里面的方法

模塊的發(fā)布

如果你想把自己寫的包安裝到電腦系統(tǒng)上,以方便任何程序調(diào)用,則:
1、在和包同一個(gè)路徑下建立一個(gè)文件

#文件內(nèi)容
from distutils.core import setup
setup(name = "xjx",version = "1.0",description = "xjx's module",author = "xjx",py_moudles = ['TestMsg.sendmsg','TestMsg.receivemsg'])
#然后在命令行里構(gòu)建
python3 setup.py build
image.png

生成發(fā)布?jí)嚎s包:

#就會(huì)多一個(gè) .tar.gz 包
python3 setup.py sdist

解壓:

安裝:

python3 setup.py install

然后就可以在所有的
程序中直接import使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.什么是異常? 異常:不正常的情況 不正常的情況,在程序中,會(huì)有兩種體現(xiàn) 1.寫錯(cuò)代碼了!錯(cuò)誤...
    十維田園閱讀 334評(píng)論 0 0
  • 異常處理在任何一門編程語言里都是值得關(guān)注的一個(gè)話題,良好的異常處理可以讓你的程序更加健壯,清晰的錯(cuò)誤信息更能幫助你...
    古佛青燈度流年閱讀 558評(píng)論 0 0
  • Python異常處理 異常概念: 異常:就是不正常的情況,程序開發(fā)過程中錯(cuò)誤和BUG都是補(bǔ)充正常的情況 異常發(fā)生的...
    youngkun閱讀 983評(píng)論 0 4
  • Python和很多其他語言一樣,支持異常處理。我們可以使用try-catch類似的形式捕獲異常,處理異常,或者拋出...
    樂百川閱讀 626評(píng)論 0 1
  • 異常就是程序運(yùn)行錯(cuò)誤或者邏輯混亂。需要給客戶友好的提示。異常一般是程序中無法完全避免,一般通過一定的手段,盡量減少...
    壁花燒年閱讀 919評(píng)論 0 0

友情鏈接更多精彩內(nèi)容