異常:
當Python檢測到一個錯誤時,解釋器就
無法繼續執行了,反而出現了一些錯誤的提示,這就是所謂的"異常"
捕獲異常:
格式:try+執行代碼······except+處理異常的代碼······
try: print num except IOError: print('產生錯誤了')
把可能出現問題的代碼,放在try中
把處理異常的代碼,放在except中
【except】代碼當發生異常才會執行,一般用於程序的修復操作
(except捕獲的錯誤類型是IOError)
【try】捕捉異常,
錯誤代碼之后的內容不會執行
①捕捉指定異常:except 異常名
②捕捉多個異常:except(異常名1,異常名2)
多次捕捉異常,只有第一個才會執行
[Exception]是python里大部分異常的父類,可以用來捕捉大部分常見的異常,
自定義一個異常必須要繼承Exception
獲取異常的信息:except 異常名 as 別名 (except不能直接設置別名)
拋出異常: raise 語句
工作里有時候捕捉異常只是為記錄異常信息,此時可以直接使用raise把捕捉到的異常再次拋出。
模塊:import 導入
查看搜索路徑:sys.path
當你導入一個模塊,Python解析器對模塊位置的搜索順序是:
-
當前目錄
-
如果不在當前目錄,Python則搜索在shell變量PYTHONPATH下的每個目錄。
-
如果都找不到,Python會察看默認路徑。UNIX下,默認路徑一般為/usr/local/lib/python/
-
模塊搜索路徑存儲在system模塊的sys.path變量中。變量里包含當前目錄,PYTHONPATH和由安裝過程決定的默認目錄。
{模塊名要符合標識符的命名規則}
{自己設定的模塊不能和系統設定的模塊同名}
導入方法:
-
import 模塊名 調用:模塊名.功能名
-
import 模塊名 as 別名 調用:別名.功能名
-
from 模塊名 import 功能名 調用:功能名
-
from 模塊名 import 功能名 as 別名 調用:別名
-
from 模塊名 import * (導入所有功能) 調用:功能名
{__all__變量:控制這當前模塊有哪些功能可以被*導入;只影響*號導入}
-
如果一個文件中有__all__變量,那么也就意味着這個變量中的元素,不會被from xxx import *時導入
導入一個模塊時會直接運行模塊里的代碼
if__name__ == '__main__': # 必寫
測試模塊,導入模塊時設置不運行
包(文件夾)
導入方法:
-
import 包名.模塊名 調用:包名.模塊名.功能名
-
from 包名 import 模塊名 調用:模塊名.功能名
-
from 包名 import 模塊名 as 別名 調用:別名.功能名
-
from 包名.模塊名 import 功能名 調用:功能名
-
from 包名 import * (導入所有)
要使用星號導入包下的所有模塊,包里必須__init__.py文件
文件里必須要有__all__變量 變量里必須要寫明可以被導入模塊
__init__可以用來初始化當前包的執行環境(在python2里必須要有__init__.py文件)
平級的包間不能互相導入