所有文章 > 日积月累 > Python 中有哪些常用的 API?
Python 中有哪些常用的 API?

Python 中有哪些常用的 API?

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()

image

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())

image

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)

image

4. 数据处理与分析

  • Pandas:提供高性能的数据结构和数据分析工具,广泛应用于金融、统计等领域。
  • NumPy:用于科学计算的基础库,特别擅长处理大型多维数组和矩阵运算。
  • SciPy:基于 NumPy 构建,提供了更多的数学函数和算法。

示例(Pandas):

import pandas as pd
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': ['a', 'b', 'c']
})
print(df)

image

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))

image

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()

image

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_)

image

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()

image

9. 并发与并行

  • Threading 和 Multiprocessing:分别用于实现多线程和多进程编程。
  • Asyncio:用于编写异步 I/O 程序,特别是网络服务端应用程序。

示例(Asyncio):

import asyncio
async def main():
    print('Hello')
    await asyncio.sleep(1)
    print('World')
asyncio.run(main())

image

10. 测试

  • unittest:Python 内置的单元测试框架。
  • pytest:一个扩展性强的测试框架,简化了测试编写和执行过程。

示例(pytest):

# test_example.py
def add(a, b):
    return a + b
def test_add():
    assert add(1, 2) == 3

image

11. 日志记录

  • logging:Python 内置的日志记录模块,提供了灵活的日志配置选项。

示例(logging):

import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
logger.info('This is an info message')

image

image

image

每一次互动,皆是鼓励, 每一份支持,共促成长。

原文转载自:https://mp.weixin.qq.com/s/h5hZqGIgwt3IDXXY3ei0cw

#你可能也喜欢这些API文章!