Python3 筆記 D 001 異常與斷言

2022-04-04 08:27:52 字數 1747 閱讀 3177

import sys

# === 捕獲異常(可靈活組合) ===

def excep():

# - try except -

try:

print(ex)

except: # 捕獲所有異常

print("捕獲異常!")

try:

print(ex)

except: # 通過函式獲取異常資訊

types, value, back = sys.exc_info() # 捕獲異常

sys.excepthook(types, value, back) # 列印異常

try:

print(ex)

except nameerror: # 捕獲指定異常

print("捕獲名字未定義異常!")

except ioerror:

print("捕獲io異常!")

except:

print("捕獲所有異常!")

try:

print(ex)

except (nameerror, ioerror) as e: # 同時捕獲多個異常, 並告知異常原因

print("捕獲多個異常!")

print(e)

except:

print("捕獲所有異常!")

# - try except else -

try:

pass

except:

print("捕獲異常!")

else: # 沒有發生異常是執行該**塊

print("執行正常.")

# - try except else finally -

try:

pass

except:

print("捕獲異常!")

else:

print("執行正常.")

finally: # 不管是否發生異常都執行

print("不管是否發生異常都執行")

# === 自定義異常===

# - 編寫自定義異常-

class myerror(exception): # 繼承exception

# 重寫並super構造

def __init__(self, mes = "丟擲乙個異常."):

exception.__init__(self)

self.message = mes

def __str__(self):

return self.message

# - 使用自定義異常-

def myerr():

try:

raise myerror("拋異常!") # 丟擲異常

except myerror as e: # 接住異常

print(e)

# === 斷言語句===

def assertdemo():

# 斷言一般用於測試, 如果測試結果為flase,將丟擲assertionerror異常

assert type("string") is str

assert 3 < 4

assert 3 > 4, "拋assertionerror異常"

# *****== 函式呼叫*****=

if __name__ == "__main__":

excep()

myerr()

assertdemo()

python3筆記 函式

建立函式 def 函式名 引數列表 函式語句 函式的命名規則 乙個單詞直接小寫 多個單詞,每個單詞小寫,以下劃線分隔 文件化說明 函式首行加 或 使用函式名.doc 屬性 可以檢視函式文件 help 函式名 callable 函式名 判斷函式是否可以被呼叫 pass 佔位 引數預設引數 預設值最好是...

Python3 筆記 C 001 函式 內建函式

import os def fun a1 all true,false 與的關係,返回bool a2 any true,false 或的關係,返回bool num abs 1.23 絕對值 num pow 5,3 冪次方x y 125 num pow 5,3,3 冪次方再取餘 x y z 2 num...

python3 筆記1 變數

變數 可變的量,區別於常量,常量為固定不可變的量 變數的定義方式 變數名 value 例 a 1 多個變數的命名格式 變數名1,變數名2 value1,value2 例 a,b 1,2 刪除變數名格式 del 變數名 刪除後的變數名再也無法訪問 在定義變數名時盡量做到見名知意,例如 你定義乙個變數為...