Python常用內(nèi)置標準庫超詳細學(xué)習(xí)筆記
前言
這篇筆記將帶你走進 Python 的“百寶箱”。Python 被稱為“自帶電池”(Batteries Included)的語言,就是因為它內(nèi)置了極其豐富的標準庫,無需安裝即可直接 import 使用。
1. 時間與日期:datetime
處理時間、日期、時區(qū)轉(zhuǎn)換的利器。
from datetime import datetime, timedelta
# 1. 獲取當(dāng)前時間
now = datetime.now()
print(f"當(dāng)前時間: {now}")
# 2. 格式化輸出 (strftime)
print(now.strftime("%Y-%m-%d %H:%M:%S")) # 2023-10-27 14:30:05
# 3. 字符串轉(zhuǎn)時間對象 (strptime)
date_str = "2023-01-01"
dt_obj = datetime.strptime(date_str, "%Y-%m-%d")
# 4. 時間計算 (timedelta)
yesterday = now - timedelta(days=1)
future = now + timedelta(hours=2)2. 數(shù)學(xué)與隨機數(shù):math&random
math:高精度數(shù)學(xué)計算
import math print(math.pi) # 圓周率 3.14159... print(math.sqrt(16)) # 開平方 4.0 print(math.ceil(3.1)) # 向上取整 4
random:生成偽隨機數(shù)
import random print(random.random()) # 0到1之間的浮點數(shù) print(random.randint(1, 10)) # 1到10之間的隨機整數(shù)(含10) fruits = ["蘋果", "香蕉", "橙子"] print(random.choice(fruits)) # 隨機選一個 items = [1, 2, 3, 4, 5] random.shuffle(items) # 打亂列表順序
3. 數(shù)據(jù)交換格式:json
JSON 是互聯(lián)網(wǎng)最通用的數(shù)據(jù)格式。Python 字典與 JSON 字符串的轉(zhuǎn)換非常簡單。
import json
data = {"name": "Jojo", "age": 25, "is_admin": False}
# 1. 編碼:字典 -> JSON 字符串 (dumps)
json_str = json.dumps(data, indent=4) # indent讓輸出更漂亮
# 2. 解碼:JSON 字符串 -> 字典 (loads)
parsed_data = json.loads(json_str)
# 3. 處理文件 (dump/load)
with open("config.json", "w") as f:
json.dump(data, f) # 直接寫入文件4. 系統(tǒng)接口與參數(shù):sys
主要用于與 Python 解釋器和系統(tǒng)環(huán)境交互。
import sys # 1. 獲取命令行參數(shù) (常用語腳本傳參) # 運行命令: python script.py arg1 arg2 print(sys.argv) # 2. 退出程序 # sys.exit(0) # 0表示正常退出 # 3. 模塊搜索路徑 # print(sys.path) # 4. 查看系統(tǒng)平臺 print(sys.platform) # win32, darwin(Mac), linux
5. 高級容器數(shù)據(jù)類型:collections
它是內(nèi)置 list/dict/tuple 的增強版。
Counter: 快速計數(shù)器。defaultdict: 帶有默認值的字典(防止 KeyError)。
from collections import Counter, defaultdict
# Counter 示例:統(tǒng)計詞頻
text = "apple banana apple orange apple banana"
counts = Counter(text.split())
print(counts) # Counter({'apple': 3, 'banana': 2, 'orange': 1})
print(counts.most_common(1)) # 獲取出現(xiàn)次數(shù)最多的
# defaultdict 示例
d = defaultdict(int) # 默認值為 0
d["count"] += 1 # 不會報錯,直接從0加到16. 正則表達式:re
用于復(fù)雜的文本搜索、替換和匹配。
import re
text = "我的郵箱是 jojo_123@example.com,請聯(lián)系我。"
# 匹配郵箱的簡單正則
pattern = r'[a-zA-Z0-9_]+@[a-zA-Z0-9]+\.[a-zA-Z]+'
# 搜索
match = re.search(pattern, text)
if match:
print(f"找到郵箱: {match.group()}")
# 替換
clean_text = re.sub(pattern, "[HIDDEN]", text)
print(clean_text)什么時候該用哪個庫?
| 需求 | 推薦庫 |
|---|---|
| 處理文件路徑、創(chuàng)建文件夾 | os / pathlib |
| 讀取/寫入 CSV 數(shù)據(jù) | csv |
| 網(wǎng)絡(luò)請求(標準庫版) | urllib.request(雖然大家更愛用第三方 requests) |
| 壓縮和解壓文件 | zipfile / tarfile |
| 計算代碼執(zhí)行時間 | timeit |
| 記錄運行日志 | logging |
總結(jié)建議
- 先查標準庫:在準備自己寫一個復(fù)雜的功能前,先搜索“Python standard library [功能名]”,通常已經(jīng)有現(xiàn)成的解決方案了。
- 避免重復(fù)造輪子:比如
Counter計數(shù)比你自己寫for循環(huán)統(tǒng)計要快得多,也簡潔得多。 - 閱讀文檔:Python 官方文檔(docs.python.org)是學(xué)習(xí)這些庫的最好地方。
到此這篇關(guān)于Python常用內(nèi)置標準庫的文章就介紹到這了,更多相關(guān)Python常用內(nèi)置標準庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python之dict(或?qū)ο?與json之間的互相轉(zhuǎn)化實例
今天小編就為大家分享一篇Python之dict(或?qū)ο?與json之間的互相轉(zhuǎn)化實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python使用WebSocket和SSE實現(xiàn)HTTP服務(wù)器消息推送方式
本文介紹了兩種實時數(shù)據(jù)獲取的技術(shù):WebSocket和SSE,WebSocket是全雙工通信協(xié)議,支持雙向通信,但需要專門定義數(shù)據(jù)協(xié)議,SSE是一種單工通信技術(shù),基于HTTP的流式數(shù)據(jù)傳輸,客戶端開發(fā)簡單,但只能單工通信2024-11-11
Python并行編程多線程鎖機制Lock與RLock實現(xiàn)線程同步
這篇文章主要為大家介紹了Python并行編程多線程鎖機制Lock與RLock實現(xiàn)線程同步示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07

