1. 程式人生 > >python學習-基礎-模組

python學習-基礎-模組

# 模組 使用模組有什麼好處?
# 最大的好處是大大提高了程式碼的可維護性 當一個模組編寫完畢,就可以被其他地方引用。 使用模組還可以避免函式名和變數名衝突.
# 
# 現在,假設我們的abc和xyz這兩個模組名字與其他模組衝突了,
# 於是我們可以通過包來組織模組,避免衝突。方法是選擇一個頂層包名,比如mycompany,按照如下目錄存放:
# mycompany
# ├─ __init__.py
# ├─ abc.py
# └─ xyz.py
# 
# # 引入了包以後,只要頂層的包名不與別人衝突,那所有模組都不會與別人衝突。現在,abc.py模組的名字就變成了mycompany.abc,類似的,xyz.py的模組名變成了mycompany.xyz。

#請注意,每一個包目錄下面都會有一個__init__.py的檔案,這個檔案是必須存在的,
#否則,Python就把這個目錄當成普通目錄,而不是一個包。__init__.py可以是空檔案,也可以有Python程式碼,
#因為__init__.py本身就是一個模組,而它的模組名就是mycompany。
#類似的,可以有多級目錄,組成多級層次的包結構。比如如下的目錄結構:
#檔案www.py的模組名就是mycompany.web.www,兩個檔案utils.py的模組名分別是mycompany.utils和mycompany.web.utils。
# mycompany
#  ├─ web
#  │  ├─ __init__.py
#  │  ├─ utils.py
#  │  └─ www.py
#  ├─ __init__.py
#  ├─ abc.py
#  └─ xyz.py
#  

#  作用域
#  類似_xxx和__xxx這樣的函式或變數就是非公開的(private),不應該被直接引用,比如_abc,__abc等
#  類似__xxx__這樣的變數是特殊變數,可以被直接引用,但是有特殊用途,比如上面的__author__,__name__就是特殊變數,一般不要用這種變數名;
#  
#   安裝第三方模組 包管理工具pip
#   
#   pip install xxx
#   
#   推薦直接使用Anaconda,這是一個基於Python的資料處理和科學計算平臺,它已經內建了許多非常有用的第三方庫,我們裝上Anaconda,就相當於把數十個第三方模組自動安裝好了,非常簡單易用。
#   
#   安裝好Anaconda後,重新開啟命令列視窗,輸入python,可以看到Anaconda的資訊
#   
#   然後可以開始嘗試直接import numpy等已安裝的第三方模組。
#   
#   #模組搜尋路徑
#   預設情況下,Python直譯器會搜尋當前目錄、所有已安裝的內建模組和第三方模組,搜尋路徑存放在sys模組的path變數中:
#   
#   如果我們要新增自己的搜尋目錄,有兩種方法:

#  一是直接修改sys.path,新增要搜尋的目錄: import sys   sys.path.append('/Users/michael/my_py_scripts') 這種方法是在執行時修改,執行結束後失效。
#  第二種方法是設定環境變數PYTHONPATH,該環境變數的內容會被自動新增到模組搜尋路徑中。設定方式與設定Path環境變數類似。注意只需要新增你自己的搜尋路徑,Python自己本身的搜尋路徑不受影響。
#  
#