按业务场景分为Web 后端框架、异步 Web、数据分析 / AI、爬虫、GUI 桌面、测试六大类,分别讲核心定位、优缺点、适用场景、核心差异。
一、Web 后端框架(最常用,做网站 / 接口)
1. Django(全能重型框架)
定位:电池内置(batteries included)全栈框架
核心内置:ORM 数据库、Admin 后台、用户权限、表单校验、缓存、安全防护(XSS/CSRF/SQL 注入)、国际化。
特点
约定大于配置,规范极强,强制 MVT 分层;
开箱即用管理后台,后台系统开发效率极高;
同步阻塞架构,原生不支持高并发 IO;
耦合度高,灵活度低,定制底层逻辑麻烦。
适用:企业管理系统、CMS 内容管理、后台管理平台、中小流量业务。
2. Flask(微型轻量框架)
定位:微框架(micro framework),只保留 Web 核心,其余全靠第三方扩展
原生仅提供:路由、请求 / 响应、模板渲染。
需要额外安装:ORM (SQLAlchemy)、登录 (Flask-Login)、表单、后台管理等。
特点
高度灵活,自由选择组件,架构完全自定义;
代码简洁,学习门槛低,适合小型 API、工具服务;
无统一规范,多人协作容易写出混乱代码;
高并发场景原生同步性能一般。
适用:小型接口服务、内部工具、原型快速开发、简单前后端分离项目。
3. FastAPI(现代异步高性能 API 框架)
定位:高性能异步 API 框架,兼顾开发效率与性能
基于 Starlette(异步 Web 底层)+ Pydantic(类型校验)
核心独有优势
原生异步 async/await,IO 密集场景并发性能接近 Go;
自动类型校验、自动生成 OpenAPI 接口文档(Swagger);
支持同步 + 异步混合写法,兼容旧代码;
依赖注入、自动参数解析,接口开发标准化。
缺点:不适合传统多页面 MVC 网站,模板生态弱;重型后台管理生态不如 Django 成熟。
适用:高并发接口、微服务、机器学习模型推理服务、对外开放 API。
4. Tornado(老牌异步 Web)
早期异步框架,现在基本被 FastAPI 替代,仅老旧项目使用。
Web 三框架核心区别表
二、异步底层 Web 基础框架(Starlette / Sanic)
Starlette:FastAPI 底层依赖,纯异步轻量 Web 核心,适合自建异步框架;
Sanic:对标 FastAPI 的异步框架,性能极强,语法接近 Flask,国内使用少于 FastAPI。
三、数据分析、AI、科学计算框架
1. NumPy
底层数值计算库,多维数组基础,所有数据分析框架依赖它;
定位:底层数学运算基础
2. Pandas
表格数据分析框架,处理 Excel/CSV 数据库表格数据,数据清洗、统计;
定位:结构化数据处理
3. Matplotlib / Seaborn
数据可视化绘图库,生成折线图、柱状图等报表图表;
4. Scikit-learn
传统机器学习框架:分类、回归、聚类、特征工程,轻量易上手;
定位:传统机器学习算法工具
5. PyTorch / TensorFlow
深度学习大模型框架:神经网络、大语言模型、图像 AI 训练;
PyTorch:动态图,调试友好,科研、大模型主流;
TensorFlow:静态图,工业部署成熟,适合生产上线。
AI 框架核心区别
Pandas/NumPy:数据预处理;
Scikit-learn:传统机器学习;
PyTorch/TensorFlow:深度学习、大模型训练推理。
四、爬虫框架
1. Requests(基础 HTTP 库,非完整框架)
最简单的网络请求工具,手动写解析逻辑,适合简单单次爬取;
2. Scrapy(专业重型爬虫框架)
完整爬虫工程框架,内置:请求调度、并发控制、去重、管道数据存储、日志、反爬中间件;
特点:异步 Twisted 驱动,大批量爬取性能强,适合大规模全站爬虫;
缺点:学习成本高,不适合简单小爬虫。
3. Playwright / Selenium(浏览器自动化爬虫)
模拟真实浏览器,渲染 JS 动态页面,解决 AJAX 异步加载数据;
Selenium:老牌,生态成熟;
Playwright:微软出品,速度更快,自动等待页面加载,现代首选。
爬虫框架区分
静态网页简单爬取:Requests;
大规模全站批量爬虫:Scrapy;
JS 动态渲染页面、反爬严格网站:Playwright/Selenium。
五、GUI 桌面应用框架
Tkinter:Python 标准库自带,无需额外安装,简单小型桌面工具,界面简陋;
PyQt / PySide6:基于 Qt 图形库,功能极强,界面美观、跨平台,适合复杂专业桌面软件,商用需注意授权;
Kivy:跨平台移动端 + 桌面,可打包安卓 /iOS,适合简单跨端应用;
Flet:新式 GUI 框架,基于 Flutter,代码简洁,快速做现代化桌面程序。
六、自动化测试框架
pytest:现代通用测试框架,替代老旧 unittest,插件丰富,简洁易用,所有 Python 项目主流测试工具;
unittest:Python 内置标准测试库,语法繁琐,仅老旧项目使用;
Selenium/Appium:UI 自动化测试(网页 / 手机 APP)。
七、其他常用专项框架
Celery:异步任务队列框架,配合 Django/Flask/FastAPI 处理定时任务、异步耗时任务(邮件、文件处理、数据同步);
SQLAlchemy:通用 ORM 数据库工具,Flask/FastAPI 通用,Django 自带内置 ORM;
Pydantic:数据类型校验库,FastAPI 核心依赖,单独用于配置文件、参数校验。
八、框架选型总结(快速参考)
做企业后台管理系统、CMS → Django
写小型内部工具、简易接口、快速原型 → Flask
高并发微服务、AI 模型推理、对外 API 服务 → FastAPI
大规模全站数据爬取 → Scrapy
JS 动态页面爬虫、自动化浏览器操作 → Playwright
表格数据清洗、统计分析 → Pandas+NumPy
机器学习建模(传统算法) → Scikit-learn
深度学习、大模型训练 → PyTorch
桌面客户端软件开发 → PySide6 / Flet
项目自动化单元测试 → pytest
异步定时任务、后台耗时任务 → Celery