标签: Python

  • Python 学习笔记:常用核心库简介

    近期在使用影刀开发自动化流程,发现即便借助影刀的指令体系,深入掌握 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()
    核心优势(对比传统爬虫/自动化工具)
    1. 能爬取动态渲染页面(如需要登录、滚动加载、JS 渲染的内容),解决 Requests 无法处理的场景。
    2. 内置自动等待:无需手动设置 time.sleep(),会等待元素加载完成后再操作,稳定性更高。
    3. 支持截图/录屏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

    总结

    1. 基础核心库:NumPy 是数值计算基石,Pandas 是数据处理核心,二者是数据分析的必备组合。
    2. 可视化库:Matplotlib 是基础,Seaborn 更适合统计可视化,优先掌握折线图、柱状图、热力图等常用图表。
    3. 实用工具库:基础爬虫用 Requests+BeautifulSoup4 处理静态页面,Playwright 适配动态页面/网页自动化;os/datetime/OpenPyXL 覆盖日常文件、系统、时间和 Excel 操作场景。