Python 中的模塊
Python 模塊是一個 Python 文件,定義了各種功能接口。把復雜的功能封裝為模塊(又稱為庫),將功能實現的細節隱藏起來,使用該模塊(庫)的程序員不需要了解實現的細節。通過調用模塊封裝好的功能,可以用僅僅幾行 Python 代碼實現某項復雜的功能,例如可以用一行代碼就實現一個 Web 服務器。
在 Python 的應用領域中,如:web 開發、人工智能、網絡爬蟲、數據分析等領域,已經存在了大量的模塊,使用這些模塊就可以輕松開發出應用程序。
1. 內置模塊
Python 中的模塊分為兩類:
- 內置模塊,由 Python 官方提供,包含在 Python 的安裝包中,安裝完 Python 后即可使用
- 第三方模塊,由 Python 愛好者提供,需要用戶額外安裝
Python 提供了多個內置模塊,提供了日常編程中許多問題的標準解決方案,常見的內置模塊如下:
模塊名 | 功能描述 |
---|---|
os | 提供操作系統的 IO 訪問等功能 |
sys | 提供獲取命令行參數等功能 |
math | 提供各種常見的數學運算函數 |
random | 提供產生隨機數的功能 |
json | 提供對 json 文件的解析功能 |
datetime | 提供日期、時間的相關功能 |
2. 模塊語法
2.1 math 模塊簡介
Python 的 math 模塊提供了很多數學運算功能,例如:三角函數、求平方根、求對數等功能:
函數接口 | 功能描述 |
---|---|
fabs | 計算絕對值 |
sin | 正弦函數 |
cos | 余弦函數 |
sqrt | 求平方根 |
在下面的小節,將使用 math 模塊作為例子講解 Python 中模塊的語法。
2.2 import 語句
import 語句將指定模塊名的模塊導入到程序中,然后程序即可使用模塊中定義的函數,語法如下:
import 模塊名
使用 import 語句的示例如下:
>>> import math
>>> math.fabs(-123.0)
123.0
- 在第 1 行,引入 math 模塊
- 在第 2 行,使用 math 模塊中的 fabs 函數求絕對值
2.3 import … as 語句
import … as 語句為模塊取一個別名,程序可以使用模塊的別名訪問模塊中的接口函數,語法如下:
import 模塊名 as 別名
使用 import … as 語句的示例如下:
>>> import math as m
>>> m.fabs(-123.0)
123.0
- 在第 1 行,引入 math 模塊,設置模塊的別名為 m
- 在第 2 行,通過模塊的別名 m 訪問模塊
2.4 from … import 語句
from … import 語句從指定模塊中導入指定函數,程序可以通過函數名直接訪問模塊中定義的函數,語法如下:
from 模塊名 import 函數名
使用 from … import 語句的示例如下:
>>> from math import fabs
>>> fabs(-123.0)
123.0
- 在第 1 行,從 math 模塊中引入函數 fabs
- 在第 2 行,通過函數名 fabs 訪問模塊中定義的函數
2.5 from … import … as 語句
from … import … as 語句從模塊中導入函數,同時為導入的函數取一個別名,示例如下:
>>> from math import fabs as abs
>>> abs(-123.0)
123.0
- 在第 1 行,從 math 模塊中引入函數 fabs,并為該函數設置別名 abs
- 在第 2 行,通過函數的別名 abs 訪問模塊中定義的函數
2.6 from … import * 語句
from … import * 語句導入模塊中全部的功能函數,示例如下:
>>> from math import *
>>> fabs(-123.0)
123.0
>>> sqrt(9)
3.0
- 在第 1 行,從 math 模塊中導入全部的功能函數
- 在第 2 行,使用 math 模塊中定義的函數 fabs 求絕對值
- 在第 4 行,使用 math 模塊中定義的函數 sqrt 求平方根
3. 用戶自定義模塊
3.1 概述
本節講解了如何自定義模塊和使用模塊,例子程序包括兩個文件:
3.2 定義模塊
編寫程序 utils.py:
PI = 3.14
def max(a, b):
if a > b:
return a
else:
return b
def min(a, b):
if a < b:
return a
else:
return b
- 在第 1 行,定義了模塊的導出變量 PI
- 在第 3 行,定義了模塊的導出函數 max
- 在第 9 行,定義了模塊的導出函數 min
3.3 使用模塊
import utils
print(utils.PI)
print(utils.max(11, 22))
from utils import min
print(min(11, 22))
- 在第 1 行,引入模塊 utils
- 在第 2 行,訪問模塊的導出變量 PI
- 在第 3 行,訪問模塊的導出函數 max
- 在第 5 行,引入模塊 utils 中的導出函數 min
- 在第 6 行,訪問模塊的導出函數 min
運行程序 main.py,輸出結果如下:
C:\> python main.py
3.14
22
11
- 在第 2 行,輸出 PI 的值
- 在第 3 行,輸出 max(11, 22) 的結果
- 在第 4 行,輸出 min(11, 22) 的結果