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 來解決各種問題。