ParisGabriel:Python全棧工程師(0基礎到精通)教程 第二十一課(包、模組 的匯入)

來源:互聯網
上載者:User

標籤:語法錯誤   ice   decode   屬性   作用   建立   lower   imp   地方   

 

 

ParisGabriel            每天堅持手寫  一天一篇  決定堅持幾年 為了夢想為了信仰   

                      Python人工智慧從入門到精通

 

 

 

 

補充:包的相對匯入 只對後兩種匯入方式有用

 

 

 


包的相對匯入 只對後兩種匯入方式有用

異常(基礎)except:
  什麼是錯誤:
    是指由於邏輯或文法等導程式無法正常執行的問題
  什麼是異常:
    是程式出錯的標識符的一種狀態
    當異常發時 程式不會再向下執行,而轉去調用此函數的地方
    待處理此錯誤並恢複為正常狀態
  異常的作用:
    用作訊號, 通知上層調用者有錯誤產生需要處理
try 語句:
  兩種文法:
    ry-except語句(接受異常通知)
    try-finally語句
      try-except 文法 :
        try:
          可能觸發異常的語句
          except 錯誤類型1[as 變數1]:
            異常處理語句2
          except 錯誤類型2[as 變數2]:
            異常處理語句2
          except (錯誤類型3, 錯誤類型4,...)[as 變數3]:
            異常處理語句3
          ......
          except:
            異常處理語句(其他)(匹配所有類型錯誤)
          else:
            未發生異常語句(可以沒有此語句 沒有發成異常時調用)
          finlly:
            最終語句
      作用:
        嘗試捕獲異常, 將成語由異常狀態轉為正常狀態並正常執行
樣本:
      tar-except.py
      說明:
        1. as 子句是用於綁定錯誤對象的變數,可以省略
        2. except 子句可以有一個或多個,但至少要有一個
        3. else 子句最多隻能有一個,也可以省略不寫
        4. finally 子句最多隻能有一個,也可以省略不寫
        5. else 子句將在try沒有出現異常時執行
        6. finally子句的語句在任何情況下都會被執行
    try-finally文法:
      try:
        可能觸發異常的語句
      finally:
        最終語句
      說明:
        1.finally子句不可以省略
        2.一定不存在except子句
      作用:
        通常try-finally語句來做觸發異常時必須要處理的事情
        無論異常是否發生, finally子句一定會被執行
      注意:
        try-finally 語句不會改變程式的(正常/異常)狀態

 

 


raise 語句:(發起異常通知)
  作用:
    觸發一個錯誤, 讓程式進入異常狀態
  文法:
    raise 異常類型
    或
    raise 異常對
  執行個體:

 


assert Assert 陳述式:
  文法:
    assert 真值運算式, 錯誤資料(通常是字串)
  作用:
    當真值運算式為False時, 用錯誤資料建立一個AssertionError
    類型的錯誤, 並進入異常狀態
  等同於:
    if 真值運算式 == false
      raise AssertrtionError(錯誤資料)
  執行個體:

 


    小結:
      異常處理語句(4條):
        try-except 語句:
          用於接受異常通知, 捕獲異常
        try-finally 語句:
          執行必須執行的語句
        raise 語句:
          發送異常通知, 並進入異常狀態
        assert 語句:
          根據條件選著性的發送 AssertionError類型的異常通知
為什麼要處理異常機制:
  在程式調用層數比較深的時候, 向主調用函數傳遞錯誤資訊 需要層層return返回
  比較麻煩, 用異常處理機制可以較簡單的傳遞錯誤資訊

 

 Python中全部的錯誤類型:
    

Python全部的錯誤類型

 

 

錯誤類型 說明
以下內容必講  
ZeroDivisionError 除(或模數)零 (所有資料類型)
ValueError 傳入無效的參數
AssertionError Assert 陳述式失敗
StopIteration 迭代器沒有更多的值
IndexError 序列中沒有此索引(index)
IndentationError 縮排錯誤
OSError 輸入/輸出操作失敗
ImportError 匯入模組/對象失敗
NameError 未聲明/初始化對象 (沒有屬性)
AttributeError 對象沒有這個屬性
   
GeneratorExit 產生器(generator)發生異常來通知退出
TypeError 對類型無效的操作
KeyboardInterrupt 使用者中斷執行(通常是輸入^C)
OverflowError 數值運算超出最大限制
FloatingPointError 浮點計算錯誤
BaseException 所有異常的基類
SystemExit 解譯器請求退出
Exception 常規錯誤的基類
StandardError 所有的內建標準異常的基類
ArithmeticError 所有數值計算錯誤的基類
EOFError 沒有內建輸入,到達EOF 標記
EnvironmentError 作業系統錯誤的基類
WindowsError 系統調用失敗
LookupError 無效資料查詢的基類
KeyError 映射中沒有這個鍵
MemoryError 記憶體溢出錯誤(對於Python 解譯器不是致命的)
UnboundLocalError 訪問未初始化的本地變數
ReferenceError 弱引用(Weak reference)試圖訪問已經記憶體回收了的對象
RuntimeError 一般的執行階段錯誤
NotImplementedError 尚未實現的方法
SyntaxError Python 語法錯誤
TabError Tab 和空格混用
SystemError 一般的解譯器系統錯誤
UnicodeError Unicode 相關的錯誤
UnicodeDecodeError Unicode 解碼時的錯誤
UnicodeEncodeError Unicode 編碼時錯誤
UnicodeTranslateError Unicode 轉換時錯誤
以下為警告類型  
Warning 警告的基類
DeprecationWarning 關於被棄用的特徵的警告
FutureWarning 關於構造將來語義會有改變的警告
OverflowWarning 舊的關於自動提升為長整型(long)的警告
PendingDeprecationWarning 關於特性將會被廢棄的警告
RuntimeWarning 可疑的運行時行為(runtime behavior)的警告
SyntaxWarning 可疑的文法的警告
UserWarning 使用者代碼產生的警告
詳見:help(builtins)

ParisGabriel:Python全棧工程師(0基礎到精通)教程 第二十一課(包、模組 的匯入)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.