1.模塊:一個包含全部你定義的函數和變量的文件,其後綴名是 .py ,一個.py文件就是一個模塊
模塊實質上就是一個python文件。它是用來組織代碼的,意思就是把python代碼寫到裏面,文件名就是模塊的名稱,test.py test就是模塊的名稱
隨着程序的發展,功能愈來愈多,爲了方便管理,咱們一般將程序分紅一個個的文件,這樣作程序的結構更清晰,方便管理。這時咱們不只僅能夠把這些文件當作腳本去執行,還能夠把他們當作模塊來導入到其餘的模塊中,實現了功能的重複利用
一樣的原理,咱們也能夠下載別人寫好的模塊而後導入到本身的項目中使用,這種拿來主義,能夠極大地提高咱們的開發效率,避免重複造輪子。
2.包:必定包含 init.py模塊 的文件夾,通常也會包含其餘一些模塊和子包
包,package本質就是一個文件夾,和文件夾不同的是它有一個init.py文件。包是從邏輯上來組織模塊的,也就是說它是用來存放模塊的,
3.庫(lib):庫是完成必定功能的代碼集合,具體表現能夠是包,也能夠是一個模塊
4.框架(framework):爲解決一個開放性問題而設計的具備必定約束性的支撐結構
5.python內置了一些庫,除此以外,還有其餘人本身作的一些庫,稱之爲第三方庫
6.通常把第三方庫放在.../python3/lib/site_packages中python
一、標準模塊、標準包
python自帶的這些模塊,直接import就能用的
import string,random,datetime,os,sys,json,hashlib
二、第三方模塊
別人寫好的一些模塊,開源的代碼,你要安裝以後才能夠用
想實現某個功能,能夠先去百度搜一下有沒有第三方模塊
三、本身寫的python文件mysql
咱們先來看一個例子,導入系統內置的sys模塊:
在第二行處,寫了這樣一句話:「import sys」,表示使用系統自帶的sys模塊,所以,在下面的代碼裏,就可使用sys模塊裏的函數:「sys.argv」,它的做用是返回命令行的參數列表。
使用關鍵詞「import」,後面跟具體的模塊名稱,則能夠導入某一個模塊;同一個模塊無論你執行了多少次「import」,只會被導入一次,以防止模塊一遍又一遍的被執行;「import」應該被放在代碼的頂端;
接下來咱們導入一個自定義的模塊,首先咱們定義一個模塊,而且把這個模塊的名字叫作「myprint.py」,以下圖所示:
redis
這個模塊裏定義了一個函數,打印輸入的參數,而且在後面再加上一行自定義打印的文字。將這個文件保存,接下來讓咱們看調用方法:
sql
在調用的地方,一樣只須要輸入「import myprint」,而後就能夠在任意地方調用了,調用的方法也是同樣,用該模塊的名字.函數名稱(參數)就能達到調用目的。
from...import
剛纔咱們提到了引入一個模塊使用「import」關鍵詞,它將把這個模塊整個引入進來,那麼,from...import則是引入一個指定部分到當前的命名空間中來,例如咱們有以下圖所示的一個模塊:
django
上面的模塊定義了兩個函數,分別是「print_myself」和「print_other」,如今咱們用from...import使用這個模塊,而且只想使用第一個函數,以下圖:編程
從上面的兩個例子,咱們能夠看到,「import」和「from...import」的做用都是引入一個模塊,它們的區別在於:
「import」是引入一個完整的模塊,「from...import」是引入模塊中的一個或多個指定部分;「import」引入模塊後,若是須要使用模塊裏的函數方法,則須要加上模塊的限定名字,「from...import」則不用加模塊的限定名字,直接使用其函數方法;值得一提的是,還有一種引入模塊的方法:「from...import*」,舉例以下圖:
json
請看,剛纔運行時會出錯的地方「print_other」不會出錯了!可是,絕大多數編程人員不會這麼寫,由於它一次性的把一個模塊裏的全部函數、變量都一次性的引入進來了,有可能會覆蓋現有代碼的定義;
小結windows
1.提升了代碼的可維護性;一個模塊編寫完畢以後,其餘模塊直接調用,不用再從零開始寫代碼了,節約了工做時間;避免函數名稱和變量名稱重複,在不一樣的模塊中能夠存在相同名字的函數名和變量名,可是,切記,不要和系統內置的模塊名稱重複;
二、python導入模塊時候的順序:
(1) 從當前目錄下找須要導入的python文件
(2) 從python的環境變量中找 sys.path
三、導入模塊的實質:
就是把python文件從頭至尾執行一次框架
一、傻瓜式的
(1) 直接在命令行窗口輸入命令 pip install pymysql 、pip install redis
找到pip.exe文件所在的路徑 以後在系統環境變量中加入此路徑便可
pip在python3.4以上的版本是自帶的。但這種方式須要保證pycharm中的Project Interpreter路徑是Python安裝路徑,不然即便窗口顯示下載安裝成功,依然不能成功import
由於命令行下載下來的第三方安裝包存儲在Python安裝路徑\python3\Lib\site-packages
而pycharm import時,是從pycharm->File->Settings->Project Interpreter->設置的路徑下\python\venv\Lib\site-packages去取第三方安裝包
(2) 也能夠直接在pycharm中安裝第三方模塊,這樣安裝的模塊會放在Project Interpreter->設置的路徑下\python\venv\Lib\site-packages下,就能夠直接使用。dom
項目開發過程當中咱們會用到不少的第三方類庫:
打開項目文件——設置——項目——project Interpreter——選擇項目環境,而且在項目環境中查看項目已引用的第三方庫列表
點擊搜索添加須要的第三方庫
默認地址是https://pypi.python.org/simple國外地址下載會很是慢,這裏能夠選擇 Manage Repositories添加國內pip鏡像
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio
這裏推薦三個很是不錯的國內鏡像
https://pypi.tuna.tsinghua.edu.cn/simple/ 清華大學鏡像
http://pypi.douban.com/simple/ 豆瓣鏡像
http://mirrors.aliyun.com/pypi/simple/ 阿里鏡像
二、手動安裝
限制外網沒法直接下載時,能夠找別人下載好包而後手動安裝
(1) 百度搜索:python redis
(2) 找到網址:https://pypi.python.org/pypi/redis#downloads,下載安裝包
(3) 安裝whl結尾的安裝包
在地址欄中直接輸入cmd
pip install redis-2.10.6-py2.py3-none-any.whl
(4) 安裝tar.gz結尾的安裝包
a、解壓這個壓縮包
b、在命令行裏面運行 python setup.py install
打開這個網址, http://www.lfd.uci.edu/~gohlke/pythonlibs 在這個網站上面有不少 python 的第三方庫文件,咱們按 ctrl+f 搜索很容易找到 requests
三、卸載模塊
pip uninstall xxx #卸載
若是如今失敗能夠升級pip
python -m pip install --upgrade pip
能夠經過國內鏡像庫安裝軟件 :
https://www.jianshu.com/p/fc272a162b2d
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install mysql-connector-python -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
安裝第三方模塊的幾種方法:
1.在windows系統中打開cmd終端,經過命令pip install 模塊的名稱 來完成安裝,若是下載慢的話加上國內的一個鏡像路徑
2.
2.在pycharm編輯器中經過settings來安裝模塊
3.建立一個記事本requirements.txt 在其中寫上要安裝的模塊 能夠一次性把要安裝的模塊都安裝上,模塊能夠指定版本號 也能夠不指定
或者在命令行中經過pip install 來安裝也能夠
更多學習內容請移步:https://edu.51cto.com/sd/ecf58
必定會讓你受益不淺