我近期在使用影刀开发各类自动化流程,发现即便借助影刀的指令体系,深入掌握 Python 第三方库依然至关重要。这些库覆盖了数据处理、可视化、网络请求、自动化等几乎所有编程场景,因此我整理了这份新手入门级的 Python 常用库笔记,包含核心功能、安装方式和极简示例,助力快速上手。
一、基础必备库
1. NumPy(数值计算基础)
核心功能
- 提供高性能的多维数组(ndarray) 数据结构,是科学计算的基础。
- 支持向量化运算、矩阵操作、线性代数、傅里叶变换等数值计算。
- 比 Python 原生列表快得多,是 Pandas、Matplotlib 等库的底层依赖。
安装
pip install numpy
极简示例
import numpy as np
# 创建一维数组
arr1 = np.array([1, 2, 3, 4])
# 创建二维数组(矩阵)
arr2 = np.array([[1, 2], [3, 4]])
# 数组运算(向量化,无需循环)
print(arr1 * 2) # 输出:[2 4 6 8]
print(arr2 + arr2) # 输出:[[2 4], [6 8]]
# 矩阵乘法
print(arr2 @ arr2) # 输出:[[7 10], [15 22]]
2. Pandas(数据处理与分析)
核心功能
- 提供 DataFrame(表格型数据结构) 和 Series(一维序列),完美适配表格数据(如 Excel/CSV)。
- 支持数据清洗(缺失值、重复值处理)、筛选、分组、合并、透视表等。
- 是数据分析、数据挖掘的核心工具,能轻松处理几十万甚至百万行数据。
安装
pip install pandas
极简示例
import pandas as pd
# 创建DataFrame(模拟表格数据)
df = pd.DataFrame({
"姓名": ["张三", "李四", "王五"],
"年龄": [20, 25, 30],
"城市": ["北京", "上海", "广州"]
})
# 数据查看
print(df.head()) # 查看前n行(默认5行)
# 数据筛选:筛选年龄>22的行
print(df[df["年龄"] > 22])
# 保存为CSV文件
df.to_csv("user_info.csv", index=False)
# 读取CSV文件
df_read = pd.read_csv("user_info.csv")
二、数据可视化库
1. Matplotlib(基础可视化库)
核心功能
- Python 最基础的绘图库,支持绘制折线图、柱状图、散点图、直方图等几乎所有基础图表。
- 高度可定制(标题、坐标轴、颜色、样式等),是其他可视化库(如 Seaborn)的底层。
安装
pip install matplotlib
极简示例
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.linspace(0, 10, 100) # 0到10之间生成100个均匀分布的数
y = np.sin(x)
# 绘制折线图
plt.plot(x, y, color="red", label="sin(x)")
plt.xlabel("X轴") # X轴标签
plt.ylabel("Y轴") # Y轴标签
plt.title("正弦函数曲线") # 标题
plt.legend() # 显示图例
plt.show() # 展示图表
2. Seaborn(高级可视化库)
核心功能
- 基于 Matplotlib 封装,语法更简洁,默认样式更美观。
- 专注于统计可视化(如箱线图、热力图、小提琴图、配对图),适配 Pandas 的 DataFrame。
安装
pip install seaborn
极简示例
import seaborn as sns
import pandas as pd
# 使用内置数据集
tips = sns.load_dataset("tips") # 餐饮小费数据集
# 绘制柱状图(按性别分组,展示平均消费)
sns.barplot(x="sex", y="total_bill", data=tips)
# 绘制热力图(展示变量相关性)
sns.heatmap(tips.corr(numeric_only=True), annot=True, cmap="coolwarm")
三、网络请求与爬虫库
1. Requests(HTTP 请求库)
核心功能
- 替代 Python 原生的 urllib,语法极简,支持 GET/POST 请求、Cookie、Headers、代理等。
- 是爬虫、调用 API 接口的首选库。
安装
pip install requests
极简示例
import requests
# GET请求(获取网页内容)
response = requests.get("https://www.baidu.com")
response.encoding = "utf-8" # 设置编码
print(response.text[:100]) # 打印前100个字符
# POST请求(模拟表单提交)
data = {"username": "test", "password": "123456"}
response = requests.post("https://httpbin.org/post", data=data)
print(response.json()) # 以JSON格式返回响应
2. BeautifulSoup4(网页解析库)
核心功能
- 解析 HTML/XML 页面,提取标签、属性、文本等内容,搭配 Requests 实现爬虫。
- 支持 CSS 选择器、正则表达式匹配,上手简单。
安装
pip install beautifulsoup4
极简示例
import requests
from bs4 import BeautifulSoup
# 获取网页内容
response = requests.get("https://www.baidu.com")
soup = BeautifulSoup(response.text, "html.parser") # 解析HTML
# 提取指定标签(比如所有a标签的href属性)
a_tags = soup.find_all("a") # 找到所有a标签
for tag in a_tags[:5]: # 打印前5个
print(tag.get("href"), tag.text)
四、自动化与实用工具库
1. os & sys(系统交互库,内置)
核心功能
os:操作文件/目录(创建、删除、遍历、路径拼接)、执行系统命令。sys:获取系统参数(如命令行参数、Python 版本)、控制程序退出等。- 无需安装,Python 原生内置。
极简示例
import os
import sys
# os库示例:遍历指定目录下的文件
print(os.listdir(".")) # 列出当前目录所有文件/文件夹
os.makedirs("test_dir", exist_ok=True) # 创建目录(已存在则不报错)
# sys库示例:获取命令行参数
print("Python版本:", sys.version)
print("命令行参数:", sys.argv) # 运行时传入的参数,如python test.py 123,则sys.argv=[test.py, 123]
2. datetime(时间处理库,内置)
核心功能
- 处理日期、时间的解析、格式化、加减运算,替代原生 time 库的复杂操作。
- 无需安装,Python 原生内置。
极简示例
from datetime import datetime, timedelta
# 获取当前时间
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S")) # 格式化输出:2026-03-11 10:00:00
# 时间加减(比如3天后)
after_3_days = now + timedelta(days=3)
print(after_3_days.strftime("%Y-%m-%d"))
# 解析字符串为时间
time_str = "2026-01-01"
time_obj = datetime.strptime(time_str, "%Y-%m-%d")
print(time_obj)
3. OpenPyXL(Excel 操作库)
核心功能
- 读写 Excel 文件(.xlsx 格式),支持单元格样式、公式、合并单元格等。
- 替代老旧的 xlrd/xlwt,功能更全面。
安装
pip install openpyxl
极简示例
from openpyxl import Workbook, load_workbook
# 创建新Excel并写入数据
wb = Workbook()
ws = wb.active # 获取活跃工作表
ws["A1"] = "姓名"
ws["B1"] = "年龄"
ws["A2"] = "张三"
ws["B2"] = 20
wb.save("test.xlsx") # 保存文件
# 读取Excel数据
wb = load_workbook("test.xlsx")
ws = wb.active
print(ws["A2"].value) # 输出:张三
print(ws["B2"].value) # 输出:20
4. Playwright(现代自动化测试/爬虫库)
核心功能
- 由微软开发,支持无头浏览器自动化(Chrome、Firefox、Safari 全兼容)。
- 相比 Selenium 更轻量、速度更快,API 设计更简洁,内置等待机制(无需手动加 sleep)。
- 可用于网页自动化操作、动态渲染页面爬虫(如 JavaScript 加载的内容)、UI 自动化测试。
- 支持同步/异步两种调用方式,新手优先学同步版即可。
安装
# 安装库
pip install playwright
# 安装浏览器驱动(首次使用必须执行,会下载Chrome/Firefox/Safari驱动)
playwright install
极简示例
from playwright.sync_api import sync_playwright
# 启动浏览器(headless=False 显示浏览器窗口,True 为无头模式)
with sync_playwright() as p:
# 选择浏览器:chromium/firefox/webkit
browser = p.chromium.launch(headless=False)
# 新建页面
page = browser.new_page()
# 访问网页
page.goto("https://www.baidu.com")
# 1. 输入并搜索(定位输入框,输入内容)
page.locator("#kw").fill("Python Playwright")
# 点击搜索按钮
page.locator("#su").click()
# 2. 等待页面加载并提取数据(等待标题出现)
page.wait_for_selector("h3")
# 提取所有搜索结果标题
titles = page.locator("h3").all_text_contents()
print("前5个搜索结果:")
for title in titles[:5]:
print(title)
# 关闭浏览器
browser.close()
核心优势(对比传统爬虫/自动化工具)
- 能爬取动态渲染页面(如需要登录、滚动加载、JS 渲染的内容),解决 Requests 无法处理的场景。
- 内置自动等待:无需手动设置 time.sleep(),会等待元素加载完成后再操作,稳定性更高。
- 支持截图/录屏:
page.screenshot(path="baidu.png")可保存页面截图,便于调试。
五、其他常用库(快速了解)
| 库名 | 核心用途 | 安装命令 |
|---|---|---|
| Scikit-learn | 机器学习(分类、回归、聚类) | pip install scikit-learn |
| TensorFlow/PyTorch | 深度学习(神经网络) | pip install tensorflow / pip install torch |
| Flask/Django | Web 开发(轻量/全栈框架) | pip install flask / pip install django |
| Pillow | 图片处理(裁剪、滤镜、格式转换) | pip install pillow |
| PyAutoGUI | 键鼠自动化(模拟点击、输入) | pip install pyautogui |
总结
- 基础核心库:NumPy 是数值计算基石,Pandas 是数据处理核心,二者是数据分析的必备组合。
- 可视化库:Matplotlib 是基础,Seaborn 更适合统计可视化,优先掌握折线图、柱状图、热力图等常用图表。
- 实用工具库:基础爬虫用 Requests+BeautifulSoup4 处理静态页面,Playwright 适配动态页面/网页自动化;os/datetime/OpenPyXL 覆盖日常文件、系统、时间和 Excel 操作场景。
发表回复