python 之 初識模塊
什麽是模塊
什麽是模塊
一個.py文件 就是一個模塊
我們使用import加載的模塊分為4個通用類別
1、py文件
2、包好一組模塊的包(帶__init__.py文件的文件夾)
3、內置模塊
4、已被編譯成共享庫或者dLL的C或者C++擴展
為什麽要用模塊?
- 最大的好處是大大提高了代碼的可維護性。一個完善的系統代碼起碼有幾萬行代碼,把它們放在一個py文件中,對於編寫或者修改都不是很方便和管理,所以把表示不同功能的代碼分別放在不同的py文件中。
- 其次,編寫代碼不必從零開始。當一個模塊編寫完畢,就可以被其他地方引用。我們在編寫程序的時候,也經常引用其他模塊,包括Python內置的模塊和來自第三方的模塊。
- 使用模塊還可以避免函數名和變量名沖突。每個模塊有獨立的命名空間,因此相同名字的函數和變量完全可以分別存在不同的模塊中,所以,我們自己在編寫模塊時,不必考慮名字會與其他模塊沖突
模塊的分類
1、內置標準模塊
2、第三方開源模塊
3、自定義模塊
如何使用模塊
模塊的調用
模塊的導入應該在程序開始的地方
模塊一旦被導入調用,就相當於執行了另外一個py文件裏的代碼
調用語法
import xx
from xx import xx
from xx import xx as xx
模塊的導入路徑
發現,自己寫的模塊只能在當前路徑下的程序裏才能導入,換一個目錄再導入自己的模塊就報錯說找不到了, 這是為什麽?
這與導入路徑有關
import sys print(sys.path)
輸出
[‘D:\\路飛學城-python中級\\PycharmProjects\\全棧開發中級\\M2\\復習和總結‘, ‘D:\\路飛學城-python中級\\PycharmProjects‘, ‘F:\\Python36\\python36.zip‘, ‘F:\\Python36\\DLLs‘, ‘F:\\Python36\\lib‘, ‘F:\\Python36‘, ‘F:\\Python36\\lib\\site-packages‘, ‘F:\\Program Files\\JetBrains\\PyCharm 2018.1.2\\helpers\\pycharm_matplotlib_backend‘]
python解釋器會按照列表順序去依次到每個目錄下去匹配你要導入的模塊名,只要在一個目錄下匹配到了該模塊名,就立刻導入,不再繼續往後找。
第一個元素,即代表當前目錄,所以你自己定義的模塊在當前目錄會被優先導入。
開源模塊的安裝和使用
開源模塊是什麽?
簡單的說,就是世界上有很多程序員大佬,他們自己寫了一個特定功能的python模塊,然後集中上傳到一個地方,供其他程序員免費下載和使用
https://pypi.python.org/pypi 是python的開源模塊庫,截止2017年9.30日 ,已經收錄了118170個來自全世界python開發者貢獻的模塊,幾乎涵蓋了你想用python做的任何事情。 事實上每個python開發者,只要註冊一個賬號就可以往這個平臺上傳你自己的模塊,這樣全世界的開發者都可以容易的下載並使用你的模塊。
開源模塊的安裝
1、使用pip直接安裝
pip install ipython
2、使用國內源安裝
默認pip是使用Python官方的源,但是由於國外官方源經常被墻,導致不可用,我們可以使用國內的python鏡像源,從而解決Python安裝不上庫的煩惱。
網上有很多可用的源,例如: 豆瓣:http://pypi.douban.com/simple/ 清華:https://pypi.tuna.tsinghua.edu.cn/simple
1、臨時使用,只有安裝ipython時使用指定源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ipython 2、永久修改,一勞永逸 Linux下,修改 ~/.pip/pip.conf (沒有就創建一個), 修改 index-url至tuna,內容如下: [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple windows下,直接在user目錄中創建一個pip目錄,如:C:\Users\xx\pip,新建文件pip.ini,內容如下: [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple
包(package)
概念:一個文件夾管理多個模塊文件,這個文件夾就叫做包,每個包文件有一個顯著特征就是有一個__init__.py文件,如果沒有這個文件,就不是包
跨模塊導入
只要能夠找到路徑,就能導入模塊
所以,只要把相關模塊的父級目錄添加到環境變量(sys.path)中,然後再從這個父級目錄中導入就可以找到模塊了
python 之 初識模塊