在計(jì)算機(jī)程序的開(kāi)發(fā)過(guò)程中,隨著程序代碼越寫(xiě)越多,在一個(gè)文件里代碼就會(huì)越來(lái)越長(zhǎng),越來(lái)越不容易維護(hù)。
為了編寫(xiě)可維護(hù)的代碼,我們把很多函數(shù)分組,分別放到不同的文件里,這樣,每個(gè)文件包含的代碼就相對(duì)較少,很多編程語(yǔ)言都采用這種組織代碼的方式。在Python中,一個(gè).py文件就稱之為一個(gè)模塊(Module)。
使用模塊可以大大提高了代碼的可維護(hù)性。其次,編寫(xiě)代碼不必從零開(kāi)始。當(dāng)一個(gè)模塊編寫(xiě)完畢,就可以被其他地方引用。我們?cè)诰帉?xiě)程序的時(shí)候,也經(jīng)常引用其他模塊,包括Python內(nèi)置的模塊和來(lái)自第三方的模塊。
使用模塊還可以避免函數(shù)名和變量名沖突。相同名字的函數(shù)和變量完全可以分別存在不同的模塊中,因此,我們自己在編寫(xiě)模塊時(shí),不必考慮名字會(huì)與其他模塊沖突。但是也要注意,盡量不要與內(nèi)置函數(shù)名字沖突。
你也許還想到,如果不同的人編寫(xiě)的模塊名相同怎么辦?為了避免模塊名沖突,Python又引入了按目錄來(lái)組織模塊的方法,稱為包(Package)。
舉個(gè)例子,一個(gè)abc.py的文件就是一個(gè)名字叫abc的模塊,一個(gè)xyz.py的文件就是一個(gè)名字叫xyz的模塊。
現(xiàn)在,假設(shè)我們的abc和xyz這兩個(gè)模塊名字與其他模塊沖突了,于是我們可以通過(guò)包來(lái)組織模塊,避免沖突。方法是選擇一個(gè)頂層包名,比如mycompany,按照目錄存放。
引入了包以后,只要頂層的包名不與別人沖突,那所有模塊都不會(huì)與別人沖突。
模塊定義好后,我們可以使用 import 語(yǔ)句來(lái)引入模塊。
Python有數(shù)量龐大的第三方模塊支持。對(duì)于內(nèi)置模塊,Python可以直接import導(dǎo)入使用,而對(duì)于第三方模塊,在import導(dǎo)入之前,需要先安裝到指定目錄:C:\Python\Lib\site-packages。
有多種方法可以安裝第三方模塊。
1.1 在CMD中用pip命令直接安裝
第三方模塊添加工具pip必須在安裝python3.5時(shí)有勾選安裝。該命令一般位于安裝目錄的scripts目錄下。
注意pip命令安裝第三方模塊不是在Python解釋器中安裝,也不是在IDE或內(nèi)置的IDLE中安裝,而是在CMD(命令提示符)下安裝。命令格式如下:
C:\Python\scripts\pip install xlrd
(C:\Python\scripts為pip.exe所在路徑,xlrd為第三方模塊名。)
上述安裝模塊的過(guò)程其實(shí)就是在網(wǎng)站上下載第三方模塊到Python的指定目錄下。
模塊最新的版本并不一定就是最好的選擇,如本人就有安裝pandas==0.23出現(xiàn)以下錯(cuò)誤信息的提示。
import pandas._libs.window as _window
ImportError: DLL load failed: 找不到指定的模塊。
使用以下命令格式可以按指定模塊版本進(jìn)行安裝:
C:\Python\scripts\pip install pandas==0.22
1.2 在CMD中用pip命令安裝WHL文件來(lái)安裝模塊
一些常用的模塊可在https://pypi.org/搜索。
如安裝pandas模塊的網(wǎng)站地址:https://pypi.org/project/pandas/#files
可以根據(jù)電腦的操作系統(tǒng)、位數(shù)、對(duì)應(yīng)python版本號(hào)選擇相應(yīng)的whl文件下載。
下載完成后,盡量不要更改文件名。
使用以下命令格式安裝:
pip install c:\pandas-0.23.0-cp36-cp36m-win32.whl
1.3 在pycharm中安裝模塊
編輯或新建C:\Users\wwuhnwu01\pip\pip.ini:
[global]
respect-virtualenv = true
download-cache = f:/Python/pip/cache
log-file = f:/Python/pip/pip.log
[install]
timeout = 30
find-links = http://pypi.douban.com
find-links = http://pypi.douban.com/simple
pycharm→文件→setting→project interpreter→pip→右邊加號(hào)+→manage repositories→右邊加號(hào)+→添加第三方模塊的鏡像服務(wù)器http://pypi.douban.com/和http://pypi.douban.com/simple
(默認(rèn)的國(guó)外的鏡像服務(wù)器可能不好訪問(wèn)。)
如果還是連接不上第三方模塊服務(wù)器,有時(shí)需要重啟一下pycharm。
在CMD下使用以下命令格式即可以卸載第三方模塊。
c:\python\scripts\pip uninstall pandas
3.1 import 模塊名 [as 別名]
使用這種方式導(dǎo)入以后,使用時(shí)需要在對(duì)象之前加上模塊名作為前綴,必須以“模塊名.對(duì)象名”的形式進(jìn)行訪問(wèn)。如果模塊名字很長(zhǎng)的話,可以為導(dǎo)入的模塊設(shè)置一個(gè)別名,然后使用“別名.對(duì)象名”的方式來(lái)使用其中的對(duì)象。
3.2 from 模塊名 import 對(duì)象名[as 別名]
使用這種方式僅導(dǎo)入明確指定的對(duì)象,并且可以為導(dǎo)入的對(duì)象確定一個(gè)別名。這種導(dǎo)入方式可以減少查詢次數(shù),提高訪問(wèn)速度,同時(shí)也可以減少程序員需要輸入的代碼量,不需要使用模塊名作為前綴名。
3.3 from 模塊名 import *
這種方法可以一次導(dǎo)入模塊中通過(guò)__all__變量指定的所有對(duì)象。
這種方式簡(jiǎn)單粗暴,寫(xiě)起來(lái)比較省事,可以直接使用模塊中的所有對(duì)象而不需要再使用模塊名作前綴。但一般并不推薦這樣使用。一方面這樣會(huì)降低代碼的可讀性,有時(shí)很難區(qū)分自定義函數(shù)和從模塊中導(dǎo)入的函數(shù);另一方面,這樣導(dǎo)入對(duì)象會(huì)導(dǎo)致命名空間的混亂。如果多個(gè)模塊中有同名的對(duì)象,只有最后一個(gè)導(dǎo)入的模塊中的對(duì)象是有效的,而之前導(dǎo)入的模塊中的同名對(duì)象都無(wú)法訪問(wèn),不利于代碼的理解和維護(hù)。
3.4 模塊的搜索路徑
當(dāng)你導(dǎo)入一個(gè)模塊,Python 解析器對(duì)模塊位置的搜索順序是:
模塊搜索路徑存儲(chǔ)在 system 模塊的 sys.path 變量中。變量里包含當(dāng)前目錄,PYTHONPATH和由安裝過(guò)程決定的默認(rèn)目錄。
由上述內(nèi)容可知,用戶自己編寫(xiě)的py文件不能與模塊名相同,否則會(huì)引發(fā)錯(cuò)誤。
I pip工具的安裝
如果pip沒(méi)有連同Python一起安裝,也可以下載來(lái)安裝。
安裝說(shuō)明頁(yè)面:https://pip.pypa.io/en/latest/installing/#install-pip
pip工具也是一個(gè)py的模塊文檔:https://bootstrap.pypa.io/get-pip.py
下載后放到C:\Python
在CMD下使用下面命令:
python c:\Python\get-pip.py
II pip工具的更新
更新pip,可在CMD下使用下面命令:
python -m pip install -U pip
III pip工具的配置
Windows下的pip工具的配置文件的路徑:
%HOME%\pip\pip.ini
如:C:\Users\usersname\pip\pip.ini
如果無(wú)上述路徑和文檔,可自己建立。
配置文件可以配置pip的安裝源,因?yàn)閜ip的服務(wù)器在國(guó)外,基于國(guó)內(nèi)糟糕的網(wǎng)絡(luò)環(huán)境,有時(shí)用pip安裝python的第三方模塊將是一個(gè)很痛苦的過(guò)程。好在國(guó)內(nèi)也有pip的鏡像源,只需在配置文件中將pip的安裝源指向國(guó)內(nèi)的服務(wù)器就行了。
[global]
index-url = https://mirrors.ustc.edu.cn/pypi/web/simple/
#index-url = https://pypi/hustunique/simple
#index-url = https://pypi.doubanio.com/simple/
當(dāng)安裝第三方模塊不成功時(shí),可切換不同的安裝源試一試。
IV 查看pip的版本號(hào)與幫助信息
查看pip的版本號(hào)與幫助信息,可在CMD中使用pip -V和pip -h命令,如下圖所示:
-End-
聯(lián)系客服