这是我的第462篇原创文章。

一、引言

Python作为一门“ batteries-included ”(自带电池)的语言,其设计哲学之一就是提供丰富的内置功能。根据官方文档统计,Python标准库包含约200个模块,这些模块随Python解释器一同发布,无需额外安装即可使用。

二、如何区分标准库与第三方库?

区分的关键在于来源与分发方式

  1. 标准库

    由Python Software Foundation维护,集成在Python安装包中,位于Lib/目录下,可通过import直接使用。

  2. 第三方库

    由社区或组织开发,需通过pip install等方式手动安装,存储于site-packages目录。

2.1 查看文件夹

判断方法如下:

import sys
print(sys.path)
# 查看导入路径,标准库位于Python安装根目录下的Lib中

结果:

图片

图片

2.2 代码判断

核心代码:

import sys
print(sys.stdlib_module_name)

结果:

图片

进阶:

import sys

# Python 3.10+ 的标准库模块集合
stdlib_modules = sys.stdlib_module_names

# 判断某个模块是否为标准库
def is_stdlib(module_name):
    return module_name in stdlib_modules

# 示例
print(is_stdlib('os'))        # True
print(is_stdlib('numpy'))     # False
print(is_stdlib('requests'))  # False

三、区别

标准库 (Standard Library):随 Python 解释器一起安装,无需额外下载。

特性

说明

安装

安装 Python 时自动包含

维护

Python 核心开发团队维护

稳定性

高度稳定,向后兼容性强

文档

官方文档 完整

导入

直接 import 使用

常用标准库示例

模块

用途

os/ sys

操作系统接口、系统参数

datetime

日期和时间处理

json/ csv

数据格式解析

re

正则表达式

collections

高级数据结构(如 Counterdeque

itertools/ functools

函数式编程工具

urllib/ http

网络请求(基础)

sqlite3

嵌入式数据库

logging

日志记录

unittest

单元测试

标准库直接使用

import json
import datetime
data ={"time": datetime.datetime.now().isoformat()}
print(json.dumps(data, ensure_ascii=False))

第三方库 (Third-Party Libraries):由社区或企业开发,需通过包管理工具单独安装。

特性

说明

安装

通过 pipconda 等工具安装

维护

社区、公司或个人维护

更新频率

快,版本迭代频繁

生态

数量庞大(PyPI 上有 50万+ 包)

导入

先安装,再 import

常用第三方库示例

领域

代表库

Web 开发

Django, Flask, FastAPI

数据分析

NumPy, Pandas, Polars

机器学习

Scikit-learn, TensorFlow, PyTorch

网络请求

Requests, httpx, aiohttp

爬虫

Scrapy, BeautifulSoup4

异步编程

asyncio(标准库)+ aiohttp / celery

ORM

SQLAlchemy, Tortoise-ORM

环境管理

python-dotenv, pydantic-settings

安装第三方库

pip install requests pandas numpy

使用

import requests
import pandas as pd
response = requests.get("https://api.example.com/data")
df = pd.DataFrame(response.json())

四、核心对比

核心对比

维度

标准库

第三方库

获取成本

零(已内置)

需网络下载

功能覆盖

基础且通用

专业且丰富

性能优化

一般

常针对特定场景优化(如 NumPy 的 C 扩展)

依赖风险

存在版本冲突、弃用风险

代码体积

不增加体积

会增加部署包大小

安全审计

经过严格审查

需自行评估

如何选择?

  1. 优先标准库:如果标准库能满足需求(如简单的文件操作、日期处理),优先使用,减少依赖。

  2. 评估第三方库:当需要高性能、专业功能时(如科学计算、Web 框架),选择成熟、社区活跃的第三方库。

  3. 平衡依赖:生产环境中,过多的第三方库会增加维护成本和安全风险,需权衡。

作者简介:

读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐