Python 库使用全攻略:从标准库到第三方库(附实战案例)


🔥草莓熊Lotso: 个人主页
❄️个人专栏: 《C++知识分享》 《Linux 入门到实践:零基础也能懂》
✨生活是默默的坚持,毅力是永久的享受!


🎬 博主简介:


文章目录

  • 前言:
  • [一. Python 库的分类:标准库 vs 第三方库](#一. Python 库的分类:标准库 vs 第三方库)
    • [1.1 标准库:Python 自带的 "工具箱"](#1.1 标准库:Python 自带的 "工具箱")
    • [1.2 第三方库:社区贡献的 "扩展插件"](#1.2 第三方库:社区贡献的 "扩展插件")
  • [二. 标准库实战:基础功能快速实现](#二. 标准库实战:基础功能快速实现)
    • [2.1 datetime 模块:时间日期处理](#2.1 datetime 模块:时间日期处理)
    • [2.2 字符串内置方法:文本处理高频场景](#2.2 字符串内置方法:文本处理高频场景)
    • [2.3 os 模块:文件目录操作](#2.3 os 模块:文件目录操作)
  • [三. 第三方库实战:复杂功能快速落地](#三. 第三方库实战:复杂功能快速落地)
    • [3.1 第三方库安装基础:pip 工具使用](#3.1 第三方库安装基础:pip 工具使用)
    • [3.2 实战案例1:qrcode 库生成二维码](#3.2 实战案例1:qrcode 库生成二维码)
    • [3.3 实战案例2:xlrd 库操作 Excel](#3.3 实战案例2:xlrd 库操作 Excel)
    • [3.4 实战案例3:pynput + playsound 实战 "程序猿鼓励师"](#3.4 实战案例3:pynput + playsound 实战 "程序猿鼓励师")
  • 结尾:

前言:

Python 的强大之处不仅在于简洁易读的语法,更在于其庞大而完善的生态 ------ 丰富的标准库和第三方库让开发者无需重复造轮子,能快速实现复杂功能。正如荀子所言 "君子性非异也,善假于物也",熟练运用各类库是 Python 开发者提升效率的核心技能。本文从标准库的基础使用、第三方库的安装与实战,到实用场景案例(字符串处理、文件查找、二维码生成等),层层递进帮你吃透 Python 库的使用逻辑,从 "会用" 升级到 "活用"。


一. Python 库的分类:标准库 vs 第三方库

Python 的库主要分为两大类,各自承担不同角色,覆盖从基础功能到复杂场景的需求:

1.1 标准库:Python 自带的 "工具箱"

  • 特点:Python 安装后默认自带,无需额外的安装,开箱即用;
  • 核心覆盖场景:文本处理,时间日期,数学计算,文件目录,操作系统交互,网络编程等;
  • 优势:稳定性高,与 Python 版本兼容性强,是开发的 "基础保障";
  • 使用方式:直接通过 import 导入模块(模版本质是 .py 文件)
  • 获取渠道https://docs.python.org/3.10/library/index.html

1.2 第三方库:社区贡献的 "扩展插件"

  • 特点:由全球开发者贡献,需通过包管理器安装后使用;
  • 核心覆盖场景:二维码生成,Excel操作,音频操作,键盘监听等细分需求;
  • 优势:针对性强,功能丰富,能快速实现标准库未覆盖的复杂功能;
  • 获取渠道 :通过 PYPI (Python官方第三库仓库,https://pypi.org/)查找,用 pip 安装。

两者对比表

类型 安装方式 稳定性 维护方 适用场景 示例
标准库 Python 自带,无需安装 极高 Python 官方团队 基础功能、通用场景 osdatetimejsonrandom
第三方库 pip install 库名 不一(取决于项目) 开源社区/公司 细分场景、复杂功能 requestsnumpypandaspynput
内置函数/类型 Python 自带,无需安装 最高 Python 官方 最基础的数据操作 len()strlistdict
企业/私有库 私有 pip 源或手动安装 取决于企业 企业内部团队 公司内部项目、商业软件 内部工具库、商业 SDK

二. 标准库实战:基础功能快速实现

标准库是 Python的 "基本库",下面结合高频场景,讲解核心模块的使用方法:

2.1 datetime 模块:时间日期处理

无需手动计算,快速实现日期差值,日期格式化等功能,适用于纪念日计算,日志记录等场景。

python 复制代码
# import  datetime
# from datetime import datetime
import datetime as dt
# 先构造 datetime 变量

# 1. 构造指定日期
date1 = dt.datetime(year = 2025 , month = 12, day = 9)
date2 = dt.datetime(year = 2024, month = 11, day = 19)
date3 = dt.datetime.now() # 当前日期时间

# 2. 计算日期差值
print(date2 - date1)
print(date1 - date2)

2.2 字符串内置方法:文本处理高频场景

字符串是 Python 内置类型,其自带的方法可覆盖大部分文本处理需求,无需导入额外模块:

案例1:翻转单词顺序(LeetCode 剑指 Offer 58)

LCR 181. 字符串中的单词反转 - 力扣(LeetCode)

python 复制代码
# 逆转字符
def reverseWords(s):
    tokens = s.split()
    tokens.reverse()
    return ' '.join(tokens)
print(reverseWords('I am a student.'))

案例 2:判断旋转字符串(LeetCode 796)

796. 旋转字符串 - 力扣(LeetCode)

python 复制代码
# 逆转字符
def rotateString(s,goal):
    if len(s) != len(goal):
        return False
    return goal in (s + s)

print(rotateString('abcde','cdeab'))
print(rotateString('abcde','edcba'))

案例3:统计前缀2字符串数目(LeetCode 2255)

2255. 统计是给定字符串前缀的字符串数目 - 力扣(LeetCode)

python 复制代码
def countPrefixes(words: list, s: str) :
    count = 0
    for word in words:
        if s.startswith(word):
            # s 是以 word 开头
            count += 1
    return count

print(countPrefixes(['a', 'b', 'c', 'ab', 'bc', 'abc'], 'abc'))
print(countPrefixes(['a', 'a'], 'aa'))

2.3 os 模块:文件目录操作

os 模块提供与操作系统交互的功能,尤其是 os.walk 可实现目录递归变量,适用于文件处理,批量处理等场景。

案例:文件查找工具(按关键词搜索文件)

python 复制代码
# 输入要查找的路径,输入要搜索的文件名(一部分)
# 自动的在指定的路径中进行查找
import os

inputPath = input('请输入要搜索的路径:')
pattern  = input('请输入你要搜索的关键词:')

for dirpath, _ , filenames in os.walk(inputPath):
    for f in filenames:
        if pattern in f:
            print(f'{dirpath}/{f}')

三. 第三方库实战:复杂功能快速落地

第三方那库需通过 pip 安装,下面结合实际案例,讲解高频第三方库的安装与使用,覆盖实际开发常见场景:

3.1 第三方库安装基础:pip 工具使用

pip 是 Python 内置的包管理器,类似于手机的 "应用商店" ,可快速安装 PyPI 上的第三方库:

核心命令

python 复制代码
# 安装指定库
pip install 库名

# 安装指定版本(解决兼容性问题)
pip install 库名==版本号

# 卸载库
pip uninstall 库名

# 查看已安装的库
pip list

# 搜索库(查看是否存在)
pip search 库名

注意事项

  • 安装时需保证网络畅通(从 PyPI 下载);
  • 若提示 "pip 不是内部命令",需将 Python 安装目录下的 Scripts 文件夹添加到系统环境变量;
  • PyCharm 中安装后若提示 "找不到模块",需检查 Settings -> Project -> Python Interpreter 是否选择正确的解释器

3.2 实战案例1:qrcode 库生成二维码

快速实现文本,URL的二维码生成,适用于信息分享,链接跳转等场景。

步骤1:安装库

bash 复制代码
# 安装qrcode,[pil]表示安装图片处理依赖
pip install qrcode[pil]

步骤2:编写代码

python 复制代码
import qrcode

img = qrcode.make('https://blog.csdn.net/2503_91389547?type=blog')
img.save('csdn.png')


效果:运行后生成 csdn.png ,用微信扫码可跳转至 CSDN 主页。

3.3 实战案例2:xlrd 库操作 Excel

读取 Excel 文件数据,适用于数据统计,报表分析等场景(示例计算指定班级平均分)

步骤1:安装库

bash 复制代码
# 指定版本1.2.0(最新版不支持xlsx格式)
pip install xlrd==1.2.0

步骤2:编写代码(读取 Excel 并计算平均分)

假设 Excel 文件 test.xlsx 内容如下:

python 复制代码
# 操作 excel

import xlrd

# 1. 先打开 xlsx 文件
xlsx = xlrd.open_workbook('D:/Python环境/test.xlsx')
# 2. 获取到指定的标签页
sheet = xlsx.sheet_by_index(0)
# 3. 获取到表格中有多少行
nrows = sheet.nrows
# 4. 进行循环统计操作
total = 0
count  = 0
for i in range(1, nrows):
    # 拿到当前同学的班级 id
    classID = sheet.cell_value(i, 1)
    if classID == 100:
        total += sheet.cell_value(i, 2)
        count += 1

print(f'平均分:{total / count}')

3.4 实战案例3:pynput + playsound 实战 "程序猿鼓励师"

监听键盘按键,每按 10 次自动播放音频鼓励自己,适用于长时间编程场景。

步骤1:安装依赖库

python 复制代码
# 安装键盘监听库(指定版本避免兼容性问题)
pip install pynput==1.6.8
# 安装音频播放库
pip install playsound==1.2.2

步骤2:编写代码(多线程避免卡顿)

python 复制代码
from pynput import keyboard
from playsound import playsound
from threading import Thread  # 多线程避免播放音频卡顿

count = 0  # 按键计数

def on_release(key):
    """按键释放时触发的回调函数"""
    global count
    count += 1
    print(f"已按键{count}次")
    # 每10次播放一次鼓励音频(ding.mp3需与代码同级目录)
    if count % 10 == 0:
        # 用多线程播放音频,避免阻塞键盘监听
        t = Thread(target=playsound, args=("ding.mp3",))
        t.start()

# 启动键盘监听
listener = keyboard.Listener(on_release=on_release)
listener.start()
listener.join()  # 保持程序运行

效果:运行后每按 10 次键盘,自动播放音频,不影响后续按键操作。


结尾:

html 复制代码
🍓 我是草莓熊 Lotso!若这篇技术干货帮你打通了学习中的卡点:
👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长
❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量
⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用
💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑
🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解
技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标!

结语:Python 库的使用是开发者效率提升的关键,标准库筑牢基础,第三方库拓展边界。本文覆盖的场景只是冰山一角,Python 生态中还有更多优秀库(如requests用于网络请求、numpy用于数据分析)等待探索。记住 "无需死记硬背,按需查找学习" 的原则:遇到需求先思考是否有现成库,通过搜索引擎或 PyPI 找到合适的库,再结合文档和案例快速上手。

✨把这些内容吃透超牛的!放松下吧✨ ʕ˘ᴥ˘ʔ づきらど

相关推荐
不会c嘎嘎14 小时前
mysql -- 使用CAPI访问mysql服务器
服务器·数据库·mysql
2501_9160074714 小时前
iOS 自动化上架的工具组合,在多平台环境中实现稳定发布
android·运维·ios·小程序·uni-app·自动化·iphone
我送炭你添花14 小时前
Pelco KBD300A 模拟器:06+6.键盘按键扩展、LCD 优化与指示灯集成(二次迭代)
python·自动化·计算机外设·运维开发
vibag14 小时前
RAG项目实践
python·语言模型·langchain·大模型
CNRio14 小时前
Day 51:Git的高级技巧:使用Git的reflog恢复丢失的提交
大数据·git·elasticsearch
LDG_AGI14 小时前
【推荐系统】深度学习训练框架(二十二):PyTorch2.5 + TorchRec1.0超大规模模型分布式推理实战
人工智能·分布式·深度学习
渡我白衣14 小时前
Reactor与多Reactor设计:epoll实战
linux·网络·人工智能·网络协议·tcp/ip·信息与通信·linux网络编程
猫头虎14 小时前
如何解决pip报错 import pandas as pd ModuleNotFoundError: No module named ‘pandas‘问题
java·python·scrapy·beautifulsoup·pandas·pip·scipy
weisian15114 小时前
入门篇--知名企业-11-Mistral AI:欧洲的开源大模型新势力,小公司如何挑战科技巨头?
人工智能·科技·开源·mistral