引言:
上一節課中,我們講了函數,如果函數是為了減少同一個程序中反覆編寫同一個功能的代碼,那麼模塊可以說是讓不同的程序間也可以重複利用一段功能相同的代碼。
Python有三種模塊,內置模塊(python解釋器自帶)、自定義模塊(我們自己寫的)、第三方模塊(別人寫的)。
01 內置模塊
前面講到reduce函數時,我們已經講過Python的function模塊提供了reduce函數。
function就是Python的一個內置模塊,可以直接引入到你的程序中,引入成功後就可以使用此模塊下的所有方法啦!
Python有兩種引入模塊的語句。下面我們引入Python中的隨機數模塊,來學習這兩種引入方式。
語法1:
- import 模塊名
import random
random.randint(1,10)
#randint(起始值,終止值) 在指定範圍內(閉區間)隨機出一個整數
#如果不先import,使用randint函數時會報NameError
注意:可選更多模塊名稱,模塊之間用逗號隔開可一併引入;使用該模塊下的函數前,必須加該模塊名
語法2:
- from 模塊名 import 方法名或*
from random import randint
randint(1,10)
#使用此種引入方法,可以像使用內置函數一樣使用randint。
另外,在調用時也可以給模塊或方法起別名:
- import 模塊名 as 別名
- from 模塊名 import 方法名 as 別名
import random as rd
rd.randint (1,10)
from random import randint as ri
ri(1,10)
Python本身就內置了很多非常有用的模塊,只要Python安裝完畢,這些模塊就可以立刻使用。這裡介紹一下random模塊中還有哪些常用方法:
- random.random() #0,1之間時間生成的浮點數 float
- random.randint(1, 6) #隨機生成參數範圍內的數字,1 <= N <= 6
- random.randrange(1, 6) #隨機生成參數範圍內的數字,1 <= N < 6
- random.choice([1, 2, 3, 4, 5, 6]) #從一個序列中隨機選擇一個數字
02 自定義模塊
除了系統內置模塊外,我們也可以創建自定義模塊。當我們有很多人共同完成一個項目時,每個人負責他分配到的代碼編寫,將這些分散的Python文件集中在一起組成一段完整的程序,這個過程就叫模塊化編程,每一個python文件都是一個“模塊”(module),而裝這些py文件的文件夾就是一個“包”(Package)。
模塊化的優點:
- ① 方便開發
- ② 方便維護
- ③ 模塊可以複用!
自定義模塊的調用實例:
在開始前,老師已經新建了一個Python文件hellomodule.py,並寫了兩個函數:
def hello():
print('這是一個子模塊')
def rate(x,y):
return (x-y)/x
接下來,開始調用hellomodule
import hellomodule
hellomodule.hello() #程序輸出了:這是一個子模塊
hellomodule.rate(8,4) #計算結果0.5
可以看到,調用自定義模塊和調用內置模塊的方法並沒有差別。
03 第三方模塊
除了系統內置模塊和我們自己寫的模塊外,第三方模塊才是Python真正的知識寶庫呢,來自全世界的大神們已經為你寫好了各種功能強大的程序,你只需要動動小手安裝一下這些第三方庫,就能站在巨人的肩膀上了呢~~~~
Jupyter環境中可以使用pip來直接安裝第三方庫,只需要在代碼行直接輸入“!pip install 庫名”,然後等待安裝完成即可。(注意:這裡是英文的“ ! ”)
如果你在終端上運行pip命令,則不用加“!”。直接運行pip install 庫名
我們以pyecharts可視化庫的安裝為例:
1、Jupyter安裝界面:
2、終端安裝界面:
以上選擇一種安裝方式即可
下面列舉一下財務分析常用的第三方模塊:
注意:除pymysql,pyecharts之外的模塊,Anaconda環境中均已包含,無需安裝。如果使用的Python環境非Anaconda集成環境,則需自行安裝所有模塊。
課堂筆記
- 兩種引入模塊語句:import與from..import
- 使用from…import語句引入模塊下函數時不用寫模塊前綴,使用import引入方式函數前必須要有模塊前綴。
- 自定義模塊層級順序:包名>文件名>方法名
- 安裝第三方模塊命令:pip install 庫名(anaconda環境下使用!系統命令直接可在內部安裝)
閱讀更多 財碼Python 的文章