【Python自學】Python 數學運算子以及其相關函數
📘 Python 的運算子,以及與數學相關的函數
Python 可以直接進行許多數學運算,像是加法、減法、乘法、除法、次方、取餘數等。
除了基本運算子之外,Python 也提供許多常用的內建函數,例如 abs()、round()、max()、min()。
如果需要更多數學功能,則可以使用 math 模組。
🧮 基本數學運算子
Python 的基本數學運算子很直觀,基本上跟我們平常學數學時使用的符號差不多。
| 運算子 | 用途 | 範例 | 結果 |
|---|---|---|---|
| + | 加法 | 3 + 2 | 5 |
| - | 減法 | 5 - 1 | 4 |
| * | 乘法 | 4 * 2 | 8 |
| / | 除法 | 7 / 2 | 3.5 |
| // | 整除 | 7 // 2 | 3 |
| % | 取餘數 | 7 % 2 | 1 |
除法 / 與整除 // 的差別
/ 是一般除法,結果通常會是小數。
// 是整除,只取整數部分。
/ 是正常除法;// 是只看整數結果。
取餘數 %
% 會取得除法後剩下的餘數。
因為 7 ÷ 2 等於 3 餘 1,所以 7 % 2 的結果是 1。
🔢 次方與根號
Python 使用 ** 來表示次方。
次方:**
2 ** 3 的意思是 2 的 3 次方,也就是:
開根號:** 0.5
開平方根其實可以看成是 1 / 2 次方。
🧰 Python 常用內建數學函數
以下這些函數不需要 import math,可以直接使用。
| 函數 | 用途 | 範例 | 結果 |
|---|---|---|---|
| abs(x) | 絕對值 | abs(-5) | 5 |
| round(x) | 四捨五入 | round(3.14159, 2) | 3.14 |
| pow(a, b) | 次方 | pow(2, 4) | 16 |
| max() | 最大值 | max(1, 2, 3) | 3 |
| min() | 最小值 | min(1, 2, 3) | 1 |
abs():絕對值
abs() 可以取得一個數字的絕對值。
round():四捨五入
round() 可以用來四捨五入。
round() 括號中的第一個參數,是要四捨五入的數值;第二個參數,則是決定要四捨五入到小數點後第幾位。
如果第二個參數沒有填,預設會四捨五入到整數。
pow():次方
pow(a, b) 等同於 a ** b。
差別在於 ** 是運算子,而 pow() 是函數。兩種寫法都可以,條條大路通羅馬。
max():最大值
max() 會找出括號中最大的值。
min():最小值
min() 的用法跟 max() 類似,只是它會找出最小值。
📐 math 模組裡的函數
如果需要更多數學功能,可以使用 Python 內建的 math 模組。
使用前需要先匯入:
| 函數 / 常數 | 用途 | 範例 | 結果 |
|---|---|---|---|
| math.sqrt(x) | 開平方根 | math.sqrt(16) | 4.0 |
| math.floor(x) | 無條件捨去 | math.floor(3.9) | 3 |
| math.ceil(x) | 無條件進位 | math.ceil(3.01) | 4 |
| math.pi | 圓周率 π | math.pi | 3.14159... |
| math.pow(a, b) | 次方,回傳 float | math.pow(2, 3) | 8.0 |
| math.log(x, base) | 對數 | math.log(8, 2) | 3.0 |
math.sqrt():開根號
math.sqrt(16) 和 16 ** 0.5 類似,都是用來開平方根。
若要表示開平方根,建議寫成 16 ** 0.5 或 16 ** (1 / 2)。
math.floor():無條件捨去
math.floor() 會往較小的整數方向取值。
math.ceil():無條件進位
math.ceil() 會往較大的整數方向取值。
math.pi:圓周率
math.pi 可以取得圓周率 π 的近似值。
math.pow():次方
math.pow() 也可以計算次方,但它的結果會回傳 float。
例如 2 ** 3。
math.log():對數
math.log(8, 2) 的意思是以 2 為底,計算 8 的對數。
換句話說,就是在問:
答案是 3,所以結果是 3.0。
🧪 簡易的數學計算寫法:計算圓面積
接下來用一個簡單案例,練習 math.pi、輸入資料、型別轉換與次方運算。
圓面積公式是:
完整程式碼
程式執行範例
如果輸入半徑為 3:
結果是 28.274333882308138。
它不會算到你電腦當機,只是因為 math.pi 本身有很多小數位,所以結果看起來比較長。
使用 round() 讓結果更乾淨
如果想讓輸出結果簡潔一點,可以使用 round()。
執行結果
這樣就會把圓面積四捨五入到小數點後 2 位。
📋 運算子與數學函數速查表
最後用表格快速整理本文提到的重點。
| 分類 | 工具 | 用途 |
|---|---|---|
| 基本運算子 | + - * / | 加、減、乘、除。 |
| 整除 | // | 取得整除結果。 |
| 取餘數 | % | 取得除法餘數。 |
| 次方 | ** | 計算次方,也可用於根號。 |
| 內建函數 | abs() | 取得絕對值。 |
| 內建函數 | round() | 四捨五入。 |
| 內建函數 | pow() | 次方運算。 |
| 內建函數 | max() / min() | 找最大值與最小值。 |
| math 模組 | math.sqrt() | 開平方根。 |
| math 模組 | math.floor() / math.ceil() | 無條件捨去與無條件進位。 |
| math 模組 | math.pi | 取得圓周率 π。 |
| math 模組 | math.log() | 計算對數。 |
✅ 小結
Python 的數學運算很直覺,基本運算子可以處理大部分日常計算,而內建函數與 math 模組則提供更多進階數學工具。
- 基本運算子:+ - * / // %。
- 次方:使用 **。
- 開根號:可以用 ** 0.5 或 math.sqrt()。
- 內建函數:abs()、round()、pow()、max()、min()。
- math 模組:需要先 import math,可以使用更多數學函數。
- 圓面積計算:可用 math.pi * radius ** 2。
Python 的數學工具分成三層:運算子、內建函數、math 模組。
留言
張貼留言