在 Python 中,模組是一個包含函式、類別、變量等的檔案,可以重複使用並提高程式的可讀性和效率。模組有助於組織代碼,並通過模組的導入(import)來方便地在不同程式中共享功能。
-組織代碼:將代碼分為不同的模組,可以使代碼更具結構化。
-重用性:一次編寫,可以多次使用,減少重複代碼。
-社群貢獻:Python 擁有豐富的第三方模組資源,可以直接使用來解決問題。
-內建模組:Python 自帶的模組,如 math、datetime、os、sys 等。
-第三方模組:需要安裝的外部模組,如 requests、numpy、pandas 等。
-自定義模組:用戶可以創建自己的模組,將重複使用的代碼封裝在模組中。
功能 | 語法 | 說明 | 範例 |
---|---|---|---|
平方根 | math.sqrt(x) |
回傳 x 的平方根 | math.sqrt(16) → 4.0 |
指數 | math.exp(x) |
回傳 e^x | math.exp(1) → 2.718281828459045 |
絕對值 | math.fabs(x) |
回傳 x 的絕對值 | math.fabs(-5.5) → 5.5 |
次方 | math.pow(x, y) |
回傳 x 的 y 次方 | math.pow(2, 3) → 8.0 |
對數 | math.log(x, base) |
回傳以 base 為底的 x 的對數 | math.log(8, 2) → 3.0 |
常數 π | math.pi |
回傳圓周率 π (約 3.14159) | math.pi → 3.141592653589793 |
常數 e | math.e |
回傳自然常數 e (約 2.71828) | math.e → 2.718281828459045 |
取上整數 | math.ceil(x) |
將 x 向上取整 | math.ceil(4.2) → 5 |
取下整數 | math.floor(x) |
將 x 向下取整 | math.floor(4.9) → 4 |
正弦函數 | math.sin(x) |
回傳角度 x 的正弦值 (弧度制) | math.sin(math.pi / 2) → 1.0 |
餘弦函數 | math.cos(x) |
回傳角度 x 的餘弦值 (弧度制) | math.cos(0) → 1.0 |
圓周長常數 | math.tau |
回傳 2π | math.tau → 6.283185307179586 |
statistics
模組 import statistics as ststatistics
模組提供了基本的統計函數,用於計算數值數據的平均值、中位數、標準差等。
功能 | 語法 | 說明 | 範例 |
---|---|---|---|
平均值 | statistics.mean(data) |
回傳數據的平均值 | statistics.mean([1, 2, 3, 4, 5]) → 3 |
中位數 | statistics.median(data) |
回傳數據的中位數 | statistics.median([1, 3, 5, 7, 9]) → 5 |
眾數 | statistics.mode(data) |
回傳數據的眾數 | statistics.mode([1, 2, 2, 3, 4]) → 2 |
樣本標準差 | statistics.stdev(data) |
回傳數據的樣本標準差 | statistics.stdev([1, 2, 3, 4, 5]) → 1.58 |
樣本變異數 | statistics.variance(data) |
回傳數據的樣本變異數 | statistics.variance([1, 2, 3, 4, 5]) → 2.5 |
群體標準差 | statistics.pstdev(data) |
回傳數據的群體標準差 | statistics.pstdev([1, 2, 3, 4, 5]) → 1.41 |
群體變異數 | statistics.pvariance(data) |
回傳數據的群體變異數 | statistics.pvariance([1, 2, 3, 4, 5]) → 2 |
四分位距 | statistics.median_grouped(data, interval=1) |
用於分組數據的中位數 | statistics.median_grouped([1, 2, 3, 3, 5], 1) → 3 |
調和平均數 | statistics.harmonic_mean(data) |
回傳數據的調和平均數 | statistics.harmonic_mean([1, 2, 4]) → 1.92 |
幾何平均數 | statistics.geometric_mean(data) |
回傳數據的幾何平均數 | statistics.geometric_mean([1, 3, 9]) → 3.0 |
random
模組簡介 import randomrandom
模組提供生成隨機數的函數,可用於生成隨機浮點數、整數、隨機選取序列元素、打亂序列順序等。
功能 | 語法 | 說明 | 範例 |
---|---|---|---|
生成 0~1 隨機浮點數 | random.random() |
回傳介於 0.0 到 1.0 之間的隨機浮點數 | random.random() → 0.5367 |
生成範圍內隨機浮點數 | random.uniform(a, b) |
回傳 a 到 b 之間的隨機浮點數 | random.uniform(1.5, 3.5) → 2.839 |
生成範圍內隨機整數 | random.randint(a, b) |
回傳 a 到 b 之間的隨機整數 | random.randint(1, 10) → 7 |
生成範圍內隨機偶數 | random.randrange(start, stop, step) |
回傳範圍內以 step 為間隔的隨機整數 | random.randrange(0, 10, 2) → 4 |
隨機選取序列中的元素 | random.choice(seq) |
從序列 seq 中隨機選取一個元素 | random.choice(['apple', 'banana', 'cherry']) → banana |
隨機選取多個元素 | random.sample(seq, k) |
從序列中選取 k 個不重複的元素,返回一個列表 | random.sample(range(10), 3) → [2, 7, 5] |
重複選取多個元素 | random.choices(seq, k) |
從序列中選取 k 個元素,返回一個列表(可重複) | random.choices(['apple', 'banana', 'cherry'], k=2) → ['apple', 'cherry'] |
打亂序列順序 | random.shuffle(seq) |
將序列 seq 的元素順序隨機打亂(改變原序列) | lst = [1, 2, 3]; random.shuffle(lst); print(lst) → [3, 1, 2] |
設定隨機種子 | random.seed(a) |
設置隨機生成器的種子,確保結果可重現 | random.seed(10); random.random() → 0.571 |