Python 模組和套件系統讓我們的程式可以變得更高效且具備更多功能。本篇文章將深入介紹 Python 的模組,包括模組的匯入與使用、Python 的內建模組,以及如何透過 pip
安裝第三方套件,讓您的開發流程更加便利。
Python 的模組是一組封裝好的程式碼,可以匯入到其他 Python 檔案中使用,避免重複撰寫相同的程式碼並提高程式的組織性。Python 本身內建了許多模組,此外,我們也可以建立自訂模組或安裝第三方套件來擴展功能。
Python 提供幾種不同的匯入方式,視情況選擇適合的方式:
import 模組名稱
這種語法將整個模組匯入,可以使用 模組名稱.功能
的格式來調用模組中的功能。
import math
result = math.sqrt(16) # 使用 math 模組的 sqrt 函數
print("16 的平方根是:", result)
from
關鍵字匯入特定功能如果只想匯入模組中的部分功能,可以使用 from 模組 import 功能
的語法。
from math import sqrt, pi
print("16 的平方根是:", sqrt(16))
print("圓周率 pi 的值是:", pi)
as
關鍵字設定別名當模組名稱太長或容易和變數名混淆時,我們可以為模組設定一個別名。
import math as m
print("16 的平方根是:", m.sqrt(16))
Python 提供了大量的內建模組,讓開發者可以直接使用,無需安裝。以下是幾個常用的內建模組介紹:
math
模組math
模組包含了許多數學運算函數,例如平方根、三角函數、對數運算等。
import math
print("16 的平方根是:", math.sqrt(16))
print("圓周率 pi 的值是:", math.pi)
random
模組random
模組提供生成隨機數的功能,適合用於隨機抽樣、模擬、遊戲開發等應用。
常用功能
random.randint(a, b)
random.choice(sequence)
random.random()
範例
import random
print("隨機整數:", random.randint(1, 10))
print("隨機選擇一個元素:", random.choice(['apple', 'banana', 'cherry']))
os
模組os
模組提供了操作系統層面的功能,比如文件和目錄管理。這個模組讓我們能夠輕鬆地與作業系統互動。
常用功能
os.getcwd()
os.chdir(path)
os.listdir(path)
os.path.exists(path)
範例
import os
current_dir = os.getcwd()
print("目前目錄:", current_dir)
os.makedirs("test_directory", exist_ok=True)
print("目錄內容:", os.listdir(current_dir))
sys
模組sys
模組用於與 Python 解釋器互動,主要提供系統級別的參數和函數,比如獲取命令行參數、控制解釋器的執行等。
常用功能
sys.argv
(第一個參數為程式名稱,之後為命令行參數)sys.exit()
sys.version
範例
import sys
print("Python 版本:", sys.version)
print("命令行參數:", sys.argv)
time
模組time
模組提供了時間相關的操作,如取得當前時間、計算執行時間等。
常用功能
time.time()
time.sleep(seconds)
time.strftime(format, time.localtime())
範例
import time
print("當前時間(秒):", time.time())
time.sleep(1)
print("一秒後執行")
print("格式化時間:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
datetime
模組datetime
模組提供了處理日期和時間的高級功能,適合用於時間戳記、日期計算等應用,比 time
模組更直觀。
常用功能
datetime.datetime.now()
datetime.datetime(year, month, day, hour, minute, second)
範例
from datetime import datetime, timedelta
now = datetime.now()
print("現在時間:", now)
# 加一天
tomorrow = now + timedelta(days=1)
print("明天這時候:", tomorrow)
re
模組(正則表達式)re
模組提供了正則表達式操作,用於模式匹配和字符串操作,特別適合進行複雜的字串處理。
常用功能
re.search(pattern, string)
re.sub(pattern, repl, string)
re.split(pattern, string)
範例
import re
text = "Hello, my number is 12345"
match = re.search(r"\d+", text)
if match:
print("找到數字:", match.group())
collections
模組collections
模組提供了幾種高效的資料結構,例如 Counter
、defaultdict
、namedtuple
,適合處理複雜的資料需求。
常用功能
Counter
defaultdict
namedtuple
範例
from collections import Counter, defaultdict, namedtuple
# Counter
counter = Counter("hello world")
print("字母出現次數:", counter)
# defaultdict
dd = defaultdict(int)
dd['apple'] += 1
print("defaultdict:", dd)
# namedtuple
Point = namedtuple("Point", ["x", "y"])
p = Point(10, 20)
print("Point:", p.x, p.y)
json
模組json
模組用於解析和生成 JSON 資料格式,適合處理 API 數據、存取結構化資料。
常用功能
json.dumps(obj)
json.loads(json_string)
範例
import json
data = {'name': 'John', 'age': 30, 'city': 'New York'}
json_data = json.dumps(data)
print("轉為 JSON 字串:", json_data)
parsed_data = json.loads(json_data)
print("解析 JSON:", parsed_data)
Python 的 pip
工具用於管理和安裝第三方套件。第三方套件是一群由社群開發的模組,存放在 Python 的官方套件庫 PyPI 上,能大幅擴展 Python 的功能。
一般來說,Python 會自帶 pip
,但可以透過以下指令確認:
pip --version
若無法找到 pip,可以到 Python 官方網站 下載最新版的 Python,或執行 python -m ensurepip --upgrade
來安裝 pip。
以下是使用 pip 安裝、更新、列出和移除套件的基本指令:
pip install 套件名稱
pip install --upgrade 套件名稱
pip list
pip uninstall 套件名稱
requests
是一個用於 HTTP 請求的套件,可以幫助我們向網站發送請求並取得網頁內容。
pip install requests
安裝後,可以在 Python 程式中使用 requests
模組來取得網頁數據:
import requests
response = requests.get("https://jsonplaceholder.typicode.com/posts/1")
print(response.json())
當開發一個需要多個套件的專案時,可以使用 requirements.txt
文件來列出所有依賴套件,並使用以下指令安裝所有列出的套件:
pip install -r requirements.txt
requirements.txt
文件格式非常簡單,每行指定一個套件名稱,後面可以跟套件的版本號:
requests==2.26.0
numpy==1.21.2
本文介紹了 Python 模組的匯入和使用方法、常見的內建模組和其應用範例、以及如何使用 pip 安裝和管理第三方套件。掌握這些模組和套件管理技巧,能有效提升開發效率,幫助您更靈活地應對各種程式需求。希望這篇文章能讓您對 Python 模組和套件系統有更深入的理解!