自學Python之路-Python基礎+模塊+面向對象
自學Python之路-Python網絡編程
自學Python之路-Python併發編程+數據庫+前端
自學Python之路-djangohtml
在C語言中若是要引用sqrt這個函數,必須用語句"#include<math.h>"引入math.h這個頭文件,不然是沒法正常進行調用的。
那麼在Python中,若是要引用一些內置的函數,該怎麼處理呢?在Python中有一個概念叫作模塊(module),這個和C語言中的頭文件以及Java中的包很相似
好比在Python中要調用sqrt函數,必須用import關鍵字引入math這個模塊。前端
模塊,用一砣代碼實現了某個功能的代碼集合。
相似於函數式編程和麪向過程編程,函數式編程則完成一個功能,其餘代碼用來調用便可,提供了代碼的重用性和代碼間的耦合。
而對於一個複雜的功能來,可能須要多個函數才能完成(函數又能夠在不一樣的.py文件中),n個 .py 文件組成的代碼集合就稱爲模塊。如:os 是系統相關的模塊。python
模塊分爲三種:web
1.1 若是你本身定義一個模塊,想開源提供給他們使用,是一個開源模塊的集散地 https://pypi.python.org/pypi 數據庫
1.2 如何安裝第三方模塊?django
方式一:yum編程
pip (python專用)後端
apt-get網絡
方式二:下載源碼- 解壓源碼-進入目錄-編譯源碼- 安裝源碼python setup.py install併發
1.3 自定義一個模塊
舉例,建設一個簡單的web框架
①首先建立一個Python Package文件,而不是Directory , 區別是Python Package多了一個空的_init_.py空文件(包,該文件表示容許跨目錄函數導入)
②在web 下面建立兩個Package
Frontend 前端(頁面相關的東西)
Backend 後端邏輯處理 程序之間關聯度/依賴性下降,鬆耦合/解耦,由於這樣才能幾我的並行負責單獨的模塊,互相調用提升開發效率、代碼複用、專業人士開發專用模塊 只要接口一致數據庫交互查詢搜索更改增長等處理結果。
③ 配置文件 存數據庫鏈接信息相關、html代碼(全局)
在Python中,每一個Python文件均可以做爲一個模塊,模塊的名字就是文件的名字。
好比有這樣一個文件test.py,在test.py中定義了函數add:
#test.py def add(a,b): return a+b
那麼在其餘文件中就能夠先import test,而後經過test.add(a,b)來調用了,固然也能夠經過from test import add來引入。
1.4 模塊的導入
①將模塊放置在同一級內
②經過路徑添加
在Python中用關鍵字import來引入某個模塊,好比要引用模塊math,就能夠在文件最開始的地方用import math來引入。在調用math模塊中的函數時,必須這樣引用:
模塊名.函數名
import math print sqrt(2) #這樣會報錯 print math.sqrt(2) #這樣才能正確輸出結果
註釋:爲何必須加上模塊名這樣調用呢?由於可能存在這樣一種狀況:在多個模塊中含有相同名稱的函數,此時若是隻是經過函數名來調用,解釋器沒法知道到底要調用哪一個函數。因此若是像上述這樣引入模塊的時候,調用函數必須加上模塊名。
導入模塊有一下幾種方法:
import module from module.xx.xx import xx from module.xx.xx import xx as rename from module.xx.xx import *
導入模塊其實就是告訴Python解釋器去解釋那個py文件
模塊導入的路徑
sys.path
import sys print (sys.path)
輸出:
['D:\\PyCharm Community Edition 2016.3.2', 'D:\\PyCharm Community Edition 2016.3.2', 'C:\\Users\\carlos.jiang\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip', 'C:\\Users\\carlos.jiang\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs', 'C:\\Users\\carlos.jiang\\AppData\\Local\\Programs\\Python\\Python36-32\\lib', 'C:\\Users\\carlos.jiang\\AppData\\Local\\Programs\\Python\\Python36-32', 'C:\\Users\\carlos\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages']
安裝的路徑可能會有些不一樣,可是site-packages目錄是最佳選擇,故只要將模塊放入site-packages這樣的目錄中,全部程序就都能將其導入了。
若是sys.path路徑列表沒有你想要的路徑,能夠經過 sys.path.append('路徑') 添加。
import sys import os project_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(project_path)