重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
劃重點: 這三個概念(庫、包、模塊)實際上都是模塊,只不過是個體和集合的區別。
創新互聯主要從事網站設計、做網站、網頁設計、企業做網站、公司建網站等業務。立足成都服務甘德,十余年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:13518219792
一個模塊就是一個.py文件,里面定義了一些函數和變量,需要的時候就可以導入這些模塊(.py文件)。
在模塊之上的概念,為了方便管理而將 .py文件 進行打包。包目錄下第一個文件便是 init .py(特點),然后是一些模塊文件和子目錄等。
庫:具有相關功能模塊的集合。這也是Python的一大特色之一,即具有強大的標準庫、第三方庫以及自定義模塊。
1.python模塊是:
python模塊:包含并且有組織的代碼片段為模塊。
表現形式為:寫的代碼保存為文件。這個文件就是一個模塊。sample.py 其中文件名smaple為模塊名字。
關系圖:
2.python包是:
包是一個有層次的文件目錄結構,它定義了由n個模塊或n個子包組成的python應用程序執行環境。
通俗一點:包是一個包含__init__.py 文件的目錄,該目錄下一定得有這個__init__.py文件和其它模塊或子包。
常見問題:
引入某一特定路徑下的模塊
使用sys.path.append(yourmodulepath)
將一個路徑加入到python系統路徑下,避免每次通過代碼指定路徑
利用系統環境變量?export PYTHONPATH=$PYTHONPATH:yourmodulepath,
直接將這個路徑鏈接到類似/Library/Python/2.7/site-packages目錄下
好的建議:
經常使用if __name__ == '__main__',保證寫包既可以import又可以獨立運行,用于test。
多次import不會多次執行模塊,只會執行一次。可以使用reload來強制運行模塊,但不提倡。
常見的包結構如下:
package_a
├── __init__.py
├── module_a1.py
└── module_a2.py
package_b
├── __init__.py
├── module_b1.py
└── module_b2.py
main.py
如果main.py想要引用packagea中的模塊modulea1,可以使用:
from package_a import module_a1
import package_a.module_a1
如果packagea中的modulea1需要引用packageb,那么默認情況下,python是找不到packageb。我們可以使用sys.path.append('../'),可以在packagea中的__init__.py添加這句話,然后該包下得所有module都添加*?import __init_即可。
關系圖:
3.庫(library)
庫的概念是具有相關功能模塊的集合。這也是Python的一大特色之一,即具有強大的標準庫、第三方庫以及自定義模塊。
1.dir函數式可以查看對象的屬性
使用方法很簡單,舉os類型為例,在Python命令窗口輸入?dir(‘os’)?即可查看os模塊的屬性
打開cmd命令窗口:
2.如何查看對象某個屬性的幫助文檔:兩種方法如下:
3.如何查看某個對象的詳細:
3.如何查看某個對象的函數:
隨著使用python的時間越來越長,安裝的python模塊也越來越多,有的模塊不常用,也漸漸會忘了里面有哪些函數;或者,一個新的python模塊,沒有官方文檔,要想知道調用哪些函數,怎么調用那些函數,于是乎就需要查看一下自己安裝的python模塊里有哪些函數,現將查看方法總結如下
在命令行下運行如下命令即可查看
在交互式解釋器中輸入如下命令即可,效果跟在命令行下輸入 $ pydoc modules 是一樣的。
python的sys模塊也是可以用來查看模塊信息的
如果你使用的是 pip 來作為你的 python 包管理器的話,可以在命令行下直接運行 $ pip freeze/code 或者 code$ pip list 來查看安裝包的信息,當然其它的包管理器也有類似的功能,同時,你也可以在python交互式解釋器中導入pip模塊來查看包信息。
如果你安裝過 yolk 的話可以使用 yolk 命令來查看包信息,你可以使用 $ pip install yolk 來安裝它 yolk 使用簡單,只需在命令行下操作即可。
python系統提供了下面常用的函數:
1. 數學庫模塊(math)提供了很多數學運算函數;
2.復數模塊(cmath)提供了用于復數運算的函數;
3.隨機數模塊(random)提供了用來生成隨機數的函數;
4.時間(time)和日歷(calendar)模塊提供了能處理日期和時間的函數。
注意:在調用系統函數之前,先要使用import 語句導入 相應的模塊
該語句將模塊中定義的函數代碼復制到自己的程 序中,然后就可以訪問模塊中的任何函數,其方 法是在函數名前面加上“模塊名.”。
希望能幫到你。