#14 Python模塊

前言

前面的文章中,有許多地方都用到了Python的模塊,這個到底是個什麼神奇的東西呢?讓我們來一起盤它!

一、什麼是模塊

在前幾節中,我們已經接觸了一些模塊:math、random、time等,它們為什麼是模塊,什麼是模塊呢?

其實模塊就是一個Python文件,一個.py結尾的Python文件。聽到這裏,萌新肯定蒙圈了,那豈不是我寫的每一個Python文件都是模塊了?沒錯!當一段代碼需要被重複利用時,你就可以將其作為模塊來使用,優點如下:

  • 模塊讓你更有邏輯的組織你的代碼塊

  • 將代碼寫成模塊可以是代碼重複利用

二、使用模塊

Python中有許多內置模塊,我們以math模塊為例來介紹如何使用模塊

1.直接導入   import

導入math模塊

In [1]: import math        # 導入math模塊

In [2]: math.sin(30)       # 使用模塊包含的方法是用  模塊.方法 
Out[2]: -0.9880316240928618

In [3]: math.cosh(60)   
Out[3]: 5.710036949078421e+25

In [4]: math.sin(1)
Out[4]: 0.8414709848078965

2.間接導入    from……import……

導入math模塊的sin方法

In [1]: from math import sin   # 只導入math模塊的sin方法

In [2]: sin(30)                # 使用時直接用方法名即可
Out[2]: -0.9880316240928618

In [3]: math.sin(30)           # 這種方法是錯誤的
---------------------------------------------------------------------
NameError                           Traceback (most recent call last)
<ipython-input-3-9c4797948dd7> in <module>
----> 1 math.sin(30)

NameError: name 'math' is not defined

導入math模塊的sin和cos方法

In [9]: from math import sin, cos   # 將導入的多個方法用逗號隔開即可

導入math模塊的全部方法

In [4]: from math import *   # 使用Python中的通配符 * 即可導入math模塊的全部方法

In [5]: sin(30)              # 使用時也是直接用方法名
Out[5]: -0.9880316240928618

In [6]: cos(30)              # 可以看到math中所有的方法都可以用了
Out[6]: 0.15425144988758405

In [7]: sqrt(4)
Out[7]: 2.0

3.非標準模塊的導入     from 路徑 import 方法

有時可能需要導入的方法不是標準模塊(系統內置模塊稱為標準模塊),可能在其他地方,導入方法有絕對路徑和相對路徑導入兩種,先來弄清絕對路徑和相對路徑:

絕對路徑:從盤符開始的路徑,比如C文件在E盤中的A文件夾下的B文件夾中,那麼C文件的絕對路徑為:E:\A\B\C

相對路徑:從當前目錄開始的路徑,比如我現在在B文件夾中,那麼C文件的相對路徑為:.\C ,在相對路徑的表示中,.代表當前目錄,..代表上級目錄

絕對路徑導入:

In [10]: from E:/A/B/C import a   # Python中使用/作為路徑分隔符

上面這段代碼的解釋:導入E盤A文件夾下的B文件夾中的C文件的a方法

使用絕對路徑將其導入的方法為 from 文件的絕對路徑 import 文件的方法 

相對路徑導入:

In [11]: from ./C import a

上面這段代碼的解釋:導入當前目錄下的C文件中的a方法

使用相對路徑將其導入的方法為 from 文件的相對路徑 import 文件的方法 

三、安裝第三方模塊

1.使用源碼安裝

第一步:下載安裝setuptools模塊,下載地址為                       setuptools-40.7.3.zip                     ,之後解壓后,在當前路徑的命令行下輸入 python setup.py install ,等待安裝完畢

第二步:下載想要安裝模塊的源代碼,大多數模塊都可以在官網找見:https://pypi.org,下載源碼后解壓,在當前路徑的命令行下輸入 python setup.py install ,等待安裝完畢,如果出現依賴問題,則安裝提示先安裝依賴模塊,直到安裝成功

第三步:驗證是否安裝成功,打開IPython的交互界面,輸入 import 模塊名驗證,如不報錯則安裝成功

注意:想要使用源碼安裝,必須安裝第一步的setuptools模塊

2.使用pip安裝(推薦使用pip安裝)

通常在安裝完Python3以後會自動將pip安裝完畢,先來驗證下,在命令行輸入pip –version,如果輸入pip版本等信息,則證明擁有pip,否則請安裝源碼安裝的方式安裝pip

第一步:在命令行中輸入 pip install 模塊名 ,之後pip會自動下載並安裝模塊,等待安裝完畢

第二步:驗證是否安裝成功,打開IPython的交互界面,輸入 import 模塊名驗證,如不報錯則安裝成功

注意:如果安裝完pip后,在命令行輸入pip –version后显示沒有這個命令,則需要將pip加入環境變量

3.使用包管理工具安裝(Linux平台、Mac平台)

在Linux平台下,Centos使用yum,Ubuntu使用apt-get

在Mac平台下,使用HomeBrew包管理工具

四、自己編寫模塊

在Python中,我們自己也是可以編寫模塊的。

自己寫一個speak模塊,裏面有chinese和english兩種方法,在run.py文件中調用這兩種方法:

1 # speak.py
2 # speak模塊
3 
4 def chinese():
5     print('我是小綿羊')
6 
7 
8 def english():
9     print('I am MinuteSheep')
1 # run.py
2 # run.py與speak.py在同一目錄下
3 
4 import speak
5 
6 speak.english()
7 speak.chinese()
1 # 運行結果
2 
3 I am MinuteSheep
4 我是小綿羊

目錄圖片:

《#14 Python模塊》

 

点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *