Python 中有哪些常用的 API?
作者:15726608245 · 2025-04-08 · 阅读时间:6分钟
Python 常用 API 包括用于 Web 开发的 Flask、Django 和 FastAPI,网络请求的 Requests 和 HTTPX,数据库交互的 SQLAlchemy 和 Peewee,数据处理的 Pandas 和 NumPy,机器学习的 Scikit-learn 和 TensorFlow,图像处理的 Pillow 和 OpenCV,自然语言处理的 NLTK 和 spaCy,命令行接口的 Click 和 Argparse,并发的 Threading 和 Asyncio,以及测试的 unittest 和 pytest。这些工具帮助开发者高效构建多种应用程序。
文章目录
1. Web 开发
- Flask:轻量级 Web 框架,易于上手,适合构建小型到中型的应用程序。
- Django:功能齐全的全栈 Web 框架,内置 ORM、认证系统等,适用于快速开发复杂网站。
- FastAPI:现代、快速(高性能)的 Web 框架,基于 Python 类型提示,支持异步编程。
示例(Flask):
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run()

2. 网络请求与 HTTP 客户端
- Requests:人类友好的 HTTP 库,简化了发送 HTTP 请求的过程。
- HTTPX:一个基于 async/await 的 HTTP 客户端,兼容 Requests 接口,支持同步和异步操作。
示例(Requests):
import requests
response = requests.get('https://api.github.com')
print(response.status_code)
print(response.json())

3. 数据库交互
- SQLAlchemy:强大的 SQL 工具包和对象关系映射器(ORM),支持多种数据库后端。
- Peewee:轻量级 ORM,简单易用,适合小型项目。
- Django ORM:如果使用 Django 框架,其内置的 ORM 提供了非常方便的数据库访问方式。
示例(SQLAlchemy):
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
engine = create_engine('sqlite:///:memory:')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
new_user = User(name='Alice')
session.add(new_user)
session.commit()
users = session.query(User).all()
for user in users:
print(user.name)

4. 数据处理与分析
- Pandas:提供高性能的数据结构和数据分析工具,广泛应用于金融、统计等领域。
- NumPy:用于科学计算的基础库,特别擅长处理大型多维数组和矩阵运算。
- SciPy:基于 NumPy 构建,提供了更多的数学函数和算法。
示例(Pandas):
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3],
'B': ['a', 'b', 'c']
})
print(df)

5. 机器学习与深度学习
- Scikit-learn:专注于传统机器学习算法的库,提供了数据预处理、模型选择等功能。
- TensorFlow 和 PyTorch:两个最流行的深度学习框架,支持 GPU 加速训练。
示例(Scikit-learn):
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)
clf = KNeighborsClassifier()
clf.fit(X_train, y_train)
print(clf.score(X_test, y_test))

6. 图像处理
- Pillow (PIL Fork):Python Imaging Library 的一个分支,提供了广泛的图像处理功能。
- OpenCV:开源计算机视觉库,包含了大量的图像处理和机器视觉算法。
示例(Pillow):
from PIL import Image
img = Image.open('example.jpg')
gray_img = img.convert('L') # 转换为灰度图像
gray_img.show()

7. 自然语言处理
- NLTK:经典的 NLP 库,涵盖了分词、词性标注、句法解析等多个方面。
- spaCy:更现代化的 NLP 库,注重速度和效率,特别适合生产环境中的应用。
示例(spaCy):
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp("Apple is looking at buying U.K. startup for $1 billion")
for ent in doc.ents:
print(ent.text, ent.label_)

8. 命令行接口
- Click:用于创建漂亮且易于使用的命令行界面(CLI)的应用程序。
- Argparse:Python 标准库中的模块,用于解析命令行参数。
示例(Click):
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.argument('name')
def hello(count, name):
for _ in range(count):
click.echo(f"Hello {name}!")
if __name__ == '__main__':
hello()

9. 并发与并行
- Threading 和 Multiprocessing:分别用于实现多线程和多进程编程。
- Asyncio:用于编写异步 I/O 程序,特别是网络服务端应用程序。
示例(Asyncio):
import asyncio
async def main():
print('Hello')
await asyncio.sleep(1)
print('World')
asyncio.run(main())

10. 测试
- unittest:Python 内置的单元测试框架。
- pytest:一个扩展性强的测试框架,简化了测试编写和执行过程。
示例(pytest):
# test_example.py
def add(a, b):
return a + b
def test_add():
assert add(1, 2) == 3

11. 日志记录
- logging:Python 内置的日志记录模块,提供了灵活的日志配置选项。
示例(logging):
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
logger.info('This is an info message')



每一次互动,皆是鼓励, 每一份支持,共促成长。
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
最新文章
- 了解如何从零开始使用Node.js构建REST API
- 长时间运行操作的 API 设计最佳实践:GraphQL 与 REST
- 免费使用微博热搜API进行数据分析的教程
- Python调用文本相似度比较API:精准识别重复内容的实用指南
- Claude 与 GitHub Copilot 限流机制与代码生成能力对比
- 发票API如何赋能小型企业金融科技的未来
- 什么是 REST API?示例、用途和挑战
- 全面增强API网关安全:策略与实践
- 如何在移动应用上进行API测试 – Mobot应用测试平台
- 移动应用API测试 | 如何使用Testsigma进行测试?
- Java API:定义、包、类型及示例详解
- 在 Power Apps 中使用 Web API 的挑战 – CloudThat