常常搞不清楚Python 中內建、標準函式庫、第三方模組的差異嗎? 一文解析

Python 新手必讀:一次搞懂 Built-in、標準函式庫與第三方模組 - CCC Blog
一個工具箱,裡面放著各種工具,象徵 Python 的函式庫與模組。

當你踏入 Python 的世界,寫下第一行 print("Hello, World!") 時,一切似乎都很簡單。但很快,你就會在各種教學中看到 import mathimport random,甚至是 pip install pandas。這時,一個巨大的問號可能會浮現在你腦中:「這些東西差在哪?為什麼有些要 import,有些還要 install?」

別擔心,這是每個 Python 學習者的必經之路。今天,我們就用一個簡單的「買房子」比喻,帶你一次搞懂 Python 世界裡的三大資源層級。

第一層:內建功能 (Built-in) - 房子的地基與樑柱

想像你買了一間房子,有些東西是它與生俱來的,沒有這些,房子就無法成立。這就是 Python 的「內建功能」。它們是 Python 語言的核心,只要你安裝好 Python,就可以直接使用,無需任何 import

它們包含了:

  • 基本資料型別 (Data Types):像是 int (整數)、str (字串)、list (串列)、dict (字典),這些是蓋房子的磚塊和水泥。
  • 內建函數 (Built-in Functions):例如 print()len()sum(),這些是房子內建的水電瓦斯系統,開關一按就有。
  • 流程控制 (Flow Control):如 if...elseforwhile 迴圈,這是房子的隔間與動線規劃。
類別 常用內建函數
數值運算 abs(), max(), min(), sum(), round()
型別轉換 int(), float(), str(), list(), dict()
輸出入 print(), input()
序列/集合操作 len(), sorted(), reversed()
迭代相關 range(), enumerate(), zip()

總之,內建功能就是 Python 的生存基礎,隨時待命,任你取用。

第二層:標準函式庫 (Standard Library) - 開箱即用的官方工具箱

現在,你的房子蓋好了。建商(Python 官方)非常貼心地附贈了一個高品質的「工具箱」,裡面裝滿了各式各樣實用的工具。這就是「標準函式庫」。

這些工具(模組)已經跟著 Python 一起安裝在你的電腦裡了,但它們被整齊地收在工具箱中。要使用時,你必須明確地告訴 Python 你要用哪一個,也就是需要 import

模組 主要功能
math 各種數學函數 (如開根號 sqrt)
random 產生隨機數
datetime 處理日期和時間
os 與作業系統互動 (如操作檔案)
re 正規表達式,處理複雜的字串匹配
json 讀寫 JSON 格式的資料
csv 讀寫 CSV 檔案

使用範例:

# 我要用工具箱裡的 math 工具
import math
# 使用 math 工具裡的 sqrt 功能來計算 16 的平方根
print(math.sqrt(16))  # 輸出: 4.0

# 我要用工具箱裡的 random 工具
import random
# 使用 random 工具裡的 randint 功能來產生一個 1 到 10 的隨機整數
print(random.randint(1, 10))

第三層:第三方模組 (Third-party) - 讓你成為超人的開源生態系

有了房子和基本工具箱,你已經能解決很多問題。但如果你想安裝家庭劇院、智慧家居、或是打造一個專業級的烘焙廚房呢?這時,你就需要去外面的大賣場採購「專業設備」。這就是「第三方模組」。

這些模組是由全球的 Python 開發者社群所貢獻,功能包羅萬象。因為不是官方標配,所以在使用前,你通常需要做兩件事:

  1. 安裝 (Install):用 pip install <模組名稱> 的指令,把它們從網路上下載到你的環境中 (就像去賣場把它買回家)。
  2. 導入 (Import):在你的程式碼中用 import 把它們拿出來使用。

以下是在資料科學、網站開發等領域最受歡迎的一些第三方模組:

模組名稱 功能 應用範圍
NumPy高效的多維陣列與數學函數科學計算、數據分析 (是許多工具的底層基礎)
Pandas強大的 DataFrame 物件,輕鬆處理表格資料資料清理、轉換、分析、探索性資料分析 (EDA)
MatplotlibPython 的基礎繪圖函式庫資料視覺化、科學繪圖
Seaborn基於 Matplotlib,提供更美觀的統計圖表進階資料視覺化、統計分析
Plotly建立互動式、可縮放的網頁圖表互動儀表板 (Dashboard)、動態資料呈現
Scikit-learn各種經典機器學習演算法機器學習、模型訓練、預測
Requests極其簡潔的 HTTP 請求工具網路爬蟲、API 互動
BeautifulSoup解析 HTML/XML 文件,提取網頁資料網路爬蟲、資料清理
Selenium驅動瀏覽器進行自動化操作動態網頁爬蟲、網站自動化測試
Flask/FastAPI輕量級的 Web 框架建立網站與 API
Django功能完備、重量級的 Web 框架大型、複雜的網站與後端系統開發
TensorFlow/PyTorch頂尖的深度學習框架深度學習、影像辨識、自然語言處理 (NLP)
Pillow (PIL Fork)強大的圖片處理函式庫圖片裁切、縮放、旋轉、濾鏡、格式轉換
OpenCV-Python專業的電腦視覺函式庫影像辨識、物件偵測、人臉辨識、影片分析

你不只是在安裝模組,更是在解鎖新的職業!

這些第三方模組的強大之處在於,它們能讓你瞬間變身為不同領域的專家:

  • 學會 NumPy,你就像科學家,能高效處理大量數值運算。
  • 掌握 Pandas,你就像數據分析師,能洞察複雜數據背後的規律。
  • 使用 MatplotlibSeaborn,你就像數據故事家,能將枯燥的數據化為富有洞見的美麗圖表。
  • 運用 Plotly,你就像互動儀表板設計師,能打造出動態、可探索的視覺化作品。
  • 運用 Scikit-learn,你就像機器學習工程師,能打造預測未來的模型。
  • 結合 RequestsBeautifulSoup,你就像網路探險家,能自如地擷取網路世界的資訊。
  • 當遇到動態載入的複雜網站,Selenium 讓你化身為瀏覽器自動化大師,模擬真人操作,攻克難關。
  • 學習 Flask/FastAPI,你能成為敏捷開發者;而掌握 Django,你將晉升為網站架構師,建構穩固龐大的系統。
  • 透過 TensorFlow/PyTorch,你就像AI 研究員,能探索人工智慧的奧秘。
  • 只要 import Pillow,你就成了數位影像魔術師;而深入 OpenCV,你更是電腦視覺科學家,賦予程式「看懂」世界的能力。

總結:你的 Python 工具箱

現在,我們再回顧一次這個清晰的藍圖:

  • 內建功能:房子的基礎結構,隨時可用。
  • 標準函式庫:官方附贈的工具箱,用 import 取出工具。
  • 第三方模組:從社群大賣場買回家的專業設備,需要 pip install 安裝,再 import 使用。

Python 本身就像一個功能齊全的工具房,而標準函式庫與第三方模組,就是房中各式各樣的工具。理解這三層結構,你就能更有自信地去探索、學習,並善用整個 Python 生態系的強大力量來解決任何你想挑戰的問題!

較新的 較舊