拋出異常不直接使用Exception, 而是要使用其子類
。
因為直接拋出Exception,沒法做特定的捕獲,不管使用except 還是except Exception,都是捕獲的所有異常。如下例子:
def func(n):
if n< 10:
raise Exception("比10小")
else:
raise ValueError("不小于10")
try:
func(5)
# 其他程序
# 捕獲當(dāng)前類的對象 或者 其子類的對象 Exception是所有異常類的父類
except Exception as e:
print("捕獲的異常:", e.args)
else:
print("正常")
以上程序中,異常捕獲會捕獲到所有的異常,無法做定向的信息輸出,因為發(fā)生異常的地方不一定是func函數(shù)。
functools模塊from functools import partial
def func(a, b, c):
return a + b + c
# 先給func部分參數(shù)(前兩個),形成一個新函數(shù)
func2 = partial(func, 1, 2)
# 新函數(shù)調(diào)用,再傳入第三個參數(shù),邏輯仍是func的邏輯
func2(5) # 返回8
from functools import reduce
def func(a, b):
return pow(a, b)
alist = [4, 3, 2, 1]
# 對alist進行聚合運算,第一次獲取alist中的2個元素
# 傳入func -->64
# 再次傳入(64, 2) -->4096
# 再次傳入(4096, 1)
result = reduce(func, alist) # 4096
# 每次取alist中的一個元素,作為第二個參數(shù)
# 第一次使用初始值2作為第一個參數(shù)
result = reduce(func, alist, 2)
from functools import namedtuple
# 傳入類名, 字段名
MyTuple = namedtuple("Laufing", ['x', "y", "z"])
# 實例化一個元組
t1 = MyTuple(1, 2, z=3)
print("第一個值:", t1.x)
shiboken2模塊在python中擴展C++程序
pending
ctrl + alt + l批量格式化
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁標(biāo)題:python基礎(chǔ)----問題總結(jié)-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://jinyejixie.com/article4/ccjjoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、云服務(wù)器、網(wǎng)站營銷、響應(yīng)式網(wǎng)站、外貿(mào)建站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容