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

Python 模組懶人包:內建、標準函式庫、第三方模組

Python 模組懶人包:內建、標準函式庫、第三方模組

當您開始學習 Python 時,可能會對「內建」、「標準函式庫」、「第三方模組」這些名詞感到困惑。它們有什麼區別?哪些可以直接使用,哪些需要 import,哪些又需要先安裝?本文將為您詳細解答,並提供常用的列表。

內建 (Built-in) - 不用 import

Python 內建了許多功能,這些功能是語言的核心部分,您可以直接使用,無需任何額外的導入操作。

基本資料型別 (Data Types)

  • int (整數)
  • float (浮點數)
  • str (字串)
  • bool (布林值)
  • list (串列)
  • tuple (元組)
  • dict (字典)
  • set (集合)
  • NoneType (None)

內建函數 (Built-in Functions)

以下列出一些常用的內建函數 (並非全部):

類別函數
數值運算 abs(), max(), min(), sum(), round(), pow()
型別轉換int(), float(), str(), bool(), list(), tuple(), dict(), set()
輸出入print(), input()
序列/集合操作len(), sorted(), reversed(), all(), any()
迭代相關range(), enumerate(), zip(), map(), filter()
檔案open()
其他type(), help(), dir(), id(), isinstance()

內建常數 (Built-in Constants)

  • True
  • False
  • None

運算子 (Operators)

  • 算術運算子:+, -, *, /, //, %, **
  • 比較運算子:==, !=, >, <, >=, <=
  • 邏輯運算子:and, or, not
  • 賦值運算子:=, +=, -=, *=, /=, //=, %=, **=
  • 成員運算子:in, not in
  • 身分運算子: is, is not
  • 位元運算子: &, |, ^, ~, <<, >>

流程控制 (Flow Control)

  • if, elif, else
  • for, while
  • break, continue
  • pass

例外處理

  • try, except, finally, raise

標準函式庫 (Standard Library) - 需要 import

Python 標準函式庫包含了大量的模組,提供了各種功能,但這些模組 *需要* 使用 import 語句導入後才能使用。

以下列出一些常用的標準函式庫模組:

模組 功能
math數學函數
random產生隨機數
datetime處理日期和時間
os作業系統相關功能
sys系統相關功能
re正規表達式
json處理 JSON 資料
csv讀寫 CSV 檔案
collections提供額外的資料結構
itertools迭代器相關工具
functools高階函數
urllib處理 URL (通常會用第三方模組 requests 取代)
unittest單元測試
argparse命令列參數解析
logging日誌

範例:


import math

print(math.sqrt(16))  # 使用 math 模組中的 sqrt 函數

import random

print(random.randint(1, 10))  # 產生 1 到 10 之間的隨機整數

常用第三方模組 (Third-party Modules) - 需要 import (通常需要先安裝)

第三方模組是由 Python 社群開發者編寫的,提供了更多更專門的功能。使用前通常需要先安裝 (例如使用 pip install module_name),然後再 import

以下是最受歡迎且用途廣泛的第三方模組 (Colab 中許多已預先安裝):

模組名稱 功能 應用範圍
NumPy 提供高效的多維陣列物件和數學函數,進行數值運算。 科學計算、數據分析、機器學習 (底層基礎)
Pandas 提供 DataFrame 物件,用於資料處理和分析,類似 Excel 試算表。 資料清理、轉換、分析、探索性資料分析 (EDA)
Matplotlib Python 的基礎繪圖函式庫,可繪製各種靜態、互動式圖表。 資料視覺化、科學繪圖、數據分析
Seaborn 基於 Matplotlib,提供更高階的 API 和美觀的預設樣式。 統計圖表、資料視覺化、探索式資料分析
Scikit-learn 提供各種機器學習演算法和工具,用於分類、迴歸、聚類、降維等。 機器學習、模型訓練、預測、模式識別
Requests 簡化 HTTP 請求 (GET, POST 等) 的發送,方便與網站和 API 互動。 網路爬蟲、API 測試、Web 服務互動
BeautifulSoup 用於解析 HTML 和 XML 文件,方便從網頁中提取資料。 網路爬蟲、資料清理 (HTML 格式)
Flask/FastAPI 輕量級的 Web 框架,用於快速建立網站和 API。 小型網站、RESTful API、快速原型開發
TensorFlow/PyTorch 深度學習框架,用於建立和訓練神經網路模型。 深度學習、影像辨識、自然語言處理、強化學習
gspread 輕鬆讀寫 Google Sheet。 自動化 Google Sheet 操作
openpyxl 讀寫 Excel 檔案。 自動化 Excel 操作
yfinance 取得Yahoo Finance 股票資料。 金融數據分析
TA-Lib 計算技術指標。 量化交易、金融數據分析
mplfinance 繪製金融圖表(K線圖)。 金融數據可視化

範例 (Colab 環境):


# Colab 中通常已預先安裝 NumPy, Pandas, Matplotlib
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 建立 NumPy 陣列
arr = np.array([1, 2, 3])
print(arr)

# 建立 Pandas DataFrame
data = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data)
print(df)

# 繪製簡單的折線圖
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()

# 如果需要安裝其他模組 (例如 Requests)
# !pip install requests  # 在 Colab 的程式碼儲存格中執行
import requests
response = requests.get('https://www.example.com')
print(response.status_code)

總結

Python 提供了豐富的功能,包括內建功能、標準函式庫和第三方模組。了解它們之間的區別,以及何時需要 import,是 Python 程式設計的基礎。 隨著您學習的深入,您會越來越熟悉這些工具,並能更有效地利用 Python 來解決各種問題。

張貼留言

較新的 較舊