findall
python
search
正則表達式
match
網絡
ret =re.math("\d+","324ajfldksj")
ret = re.search("^\d+","324ajfldksj")
print(ret.goup())
(?:正則表達式) 表示取消優先顯示功能
異常出現以後,程序就不繼續執行了code
基本語法:對象
try:索引
execpt 異常類型:ip
try中一旦檢測到異常,就會執行execpt下的代碼塊資源
try: f = open("a.txt") g = (line.strip() for line in f) print(next(g)) print(next(g)) print(next(g)) print(next(g)) except StopIteration: f.close() #當print(next(g)讀完後,下一句print(next(g))就會報錯, # 而後觸發except語句,執行f.close() l = ['登錄','註冊'] try: num = int(input('num : ')) print(l[num - 1]) except (ValueError,IndexError): #能夠將錯誤類型寫在一塊兒 print('輸入了錯誤的內容')
多分支input
l = ['登錄','註冊'] try: num = int(input('num : ')) print(l[num - 1]) except ValueError: print('輸入了錯誤的內容') except IndexError: print('您輸入的內容不在範圍內') #利用多分支,執行不一樣錯誤後的不一樣語句
萬能異常 (慎用)儘可能不要直接用來處理錯誤it
try: int("sfh") except Exception: print("異常啦") #異常啦 即遇到錯誤就執行萬能異常
l = ['登錄','註冊'] try: num = int(input('num : ')) print(l[num - 1]) except (ValueError,IndexError): print('輸入了錯誤的內容') except Exception as e: print(e)
else 與for else語句類型類似,for語句中不能被打斷,不然不會執行else語句
try: pass #發郵件的邏輯 except 錯誤類型: print("執行某個處理") else: pass #彙報這段代碼執行完了:才能執行else語句
finallly 不管如何都要執行,
應用場景:收尾工做,打開一個文件,佔用一個網絡資源,打開了一個文件,執行完後或者出現錯誤,都須要進行關閉文件,這時候finally就完美作到這點
# try: # f = open('content') # name #碰見錯誤 # finally: # f.close() #不管如何都會執行 # print('closed')
raise 主動觸發異常
try: raise TypeError("類型錯誤") except Exception as e: print(e)
自定義異常
class EvaException(BaseException): def __init__(self,msg): self.msg=msg def __str__(self): return self.msg try: raise EvaException('類型錯誤') except EvaException as e: print(e)
斷言
assert 1 == 1 #知足條件才執行 print('*'*100) assert 1 == 2 print('*'*100)