活用 Python 的 math 函式庫

活用 Python 的 math 函式庫
抽象的幾何圖形與線條,象徵著數學函式庫的精確與強大。

在學習程式設計時,我們通常會從最基本的數學運算(加減乘除)開始。然而,在處理科學計算、數據分析或工程問題時,這些基本運算往往遠遠不夠。這時,Python 內建的math 函式庫就派上用場了。

math 函式庫是 Python 的標準函式庫之一,它提供了許多進階的數學函式與常數,讓您可以輕鬆應對複雜的數學計算,而無需自己從頭實作。

本文將帶您快速瀏覽 math 函式庫的幾個核心功能,並透過程式碼範例,讓您了解如何將它應用於實際問題中。

1. 啟用 math 函式庫

由於 math 是一個標準函式庫,您只需要一行簡單的程式碼,就能啟用它:

import math

完成這一步驟後,您就可以透過 math.<函式名稱>math.<常數名稱> 的格式來呼叫它所提供的功能了。

2. 常見的數學常數

math 函式庫包含了幾個在數學與物理學中非常重要的常數,讓您無需手動輸入精確的數值。

  • math.pi:圓周率 $\pi$ 的值 (3.141592653589793)。
  • math.e:自然對數的底數 $e$ 的值 (2.718281828459045)。
# 計算半徑為 5 的圓面積
radius = 5
area = math.pi * (radius ** 2)
print(f"圓面積為:{area:.2f}") # 輸出:78.54

3. 三角函數

math 函式庫提供完整的三角函數功能,這些函式都以弧度(radians)作為單位,而非角度。

  • math.sin():正弦函數。
  • math.cos():餘弦函數。
  • math.tan():正切函數。
  • math.radians():將角度轉換為弧度。
  • math.degrees():將弧度轉換為角度。
# 計算 30 度角的正弦值
angle_degrees = 30
angle_radians = math.radians(angle_degrees)
sin_value = math.sin(angle_radians)
print(f"30 度的正弦值為:{sin_value:.2f}") # 輸出:0.50

4. 指數與對數運算

在處理複雜的成長模型或科學數據時,指數與對數運算不可或缺。

  • math.sqrt():平方根,用於計算一個數的開根號。
  • math.pow(x, y):指數運算,等同於 $x^y$。
  • math.exp(x):計算 $e^x$。
  • math.log(x, base):對數運算,計算以 base 為底數,x 的對數。若省略 base 參數,則預設為自然對數(以 $e$ 為底)。
  • math.log10(x):以 10 為底的對數。
# 計算 100 的平方根
sqrt_value = math.sqrt(100)
print(f"100 的平方根為:{sqrt_value}") # 輸出:10.0

# 計算 2 的 10 次方
pow_value = math.pow(2, 10)
print(f"2 的 10 次方為:{pow_value}") # 輸出:1024.0

# 計算 1000 以 10 為底的對數
log_value = math.log10(1000)
print(f"log10(1000) 的值為:{log_value}") # 輸出:3.0

5. 實用進階函式

除了上述常見功能外,math 函式庫也提供了許多其他實用的數學工具。

  • math.ceil():無條件進位,回傳大於或等於該數的最小整數。
  • math.floor():無條件捨去,回傳小於或等於該數的最大整數。
  • math.factorial():階乘,計算一個非負整數的階乘。
  • math.gcd():最大公因數,計算兩個整數的最大公因數。
# 處理小數點
import math

price = 125.75
ceil_price = math.ceil(price)
floor_price = math.floor(price)
print(f"價格進位到整數:{ceil_price}") # 輸出:126
print(f"價格捨去小數點:{floor_price}") # 輸出:125

# 處理整數運算
num_factorial = math.factorial(5)
print(f"5 的階乘是:{num_factorial}") # 輸出:120

gcd_value = math.gcd(24, 36)
print(f"24 和 36 的最大公因數是:{gcd_value}") # 輸出:12

透過這些實用的函式,math 函式庫讓 Python 超越了單純的加減乘除,成為處理各種數學問題的強大工具。

較新的 較舊