首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 20个常用的开发库

Python 20个常用的开发库

作者头像
用户11081884
发布2026-07-20 17:11:37
发布2026-07-20 17:11:37
330
举报

Python生态系统以其丰富多样的库而闻名,这些库大大拓展了Python在各领域的应用边界。本文将介绍2025年最常用且功能强大的20个Python库,涵盖数据处理、Web开发、AI集成、系统工具等多个领域,每个库都配有实用的代码示例。

1. Polars - 极速数据帧库

Polars是用Rust编写的超快速数据帧库,专为处理结构化数据而设计。PyPolars(目前更新为Polars)是一个围绕Polarspython包装器。它有类似于PandasAPI,这使得它更容易过渡。

代码语言:javascript
复制
import polars as pl

# 创建DataFrame
df = pl.DataFrame({
    "name": ["张三", "李四", "王五"],
    "age": [25, 30, 35],
    "salary": [50000, 60000, 70000]
})

# 数据操作
result = df.filter(pl.col("age") > 30).select(["name", "salary"])
print(result)

Polars比传统Pandas快10-100倍,特别适合处理大型数据集。

2. DuckDB - 内存分析数据库

DuckDB是一个轻量级的内存分析数据库,性能远超SQLite。采用列式存储和向量化查询引擎,支持标准SQL语法,能够高效处理大规模数据聚合、统计等分析任务。

代码语言:javascript
复制
import duckdb
import pandas as pd

# 从Pandas DataFrame创建DuckDB表
df = pd.DataFrame({'a': [1, 2, 3], 'b': ['x', 'y', 'z']})
conn = duckdb.connect()
conn.register('my_table', df)

# 执行SQL查询
result = conn.execute("SELECT a, b FROM my_table WHERE a > 1").fetchall()
print(result)

3. Pandera - 数据验证工具

PanderaPandas DataFrame提供强大的数据验证功能。

代码语言:javascript
复制
import pandas as pd
import pandera as pa

# 定义数据模式
schema = pa.DataFrameSchema({
    "name": pa.Column(str),
    "age": pa.Column(int, checks=pa.Check.ge(18)),
    "email": pa.Column(str, checks=pa.Check.str_matches(r'.+@.+\..+'))
})

# 验证数据
data = pd.DataFrame({
    "name": ["Alice", "Bob"],
    "age": [25, 17],
    "email": ["alice@example.com", "bob@example.com"]
})

try:
    schema.validate(data)
except pa.errors.SchemaError as err:
    print(f"数据验证失败: {err}")

4. FastAPI - 高性能API框架

FastAPI是现代、快速(高性能)的Web框架,用于构建API

代码语言:javascript
复制
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float

@app.post("/items/")
async def create_item(item: Item):
    return {"item_name": item.name, "item_price": item.price}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

5. Django - 全功能Web框架

Django是“包含电池”的高级Python Web框架。

代码语言:javascript
复制
# models.py
from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

# views.py
from django.shortcuts import render
from .models import Blog

def blog_list(request):
    blogs = Blog.objects.all()
    return render(request, 'blog/list.html', {'blogs': blogs})

6. Robyn - 新兴高性能框架

Robyn是新兴的高性能Web框架,比FastAPI更快。

代码语言:javascript
复制
from robyn import Robyn

app = Robyn(__name__)

@app.get("/")
async def hello():
    return "Hello, Robyn!"

@app.post("/user")
async def create_user(request):
    data = request.json()
    return {"user": data["name"]}

app.start(port=8080)

7. LangChain - AI应用框架

LangChain简化了与大型语言模型的交互。

代码语言:javascript
复制
from langchain.llms import OpenAI
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

llm = OpenAI(temperature=0.9)
prompt = PromptTemplate(
    input_variables=["product"],
    template="为{product}写一个创意广告文案,不超过50字。",
)

chain = LLMChain(llm=llm, prompt=prompt)
result = chain.run("智能手表")
print(result)

8. LlamaIndex - 检索增强生成

LlamaIndex简化了为LLM应用程序索引和查询数据的过程。

代码语言:javascript
复制
from llama_index import VectorStoreIndex, SimpleDirectoryReader
from llama_index.llms import OpenAI

# 加载文档
documents = SimpleDirectoryReader("data").load_data()

# 创建索引
index = VectorStoreIndex.from_documents(documents)

# 创建查询引擎
query_engine = index.as_query_engine(llm=OpenAI())

# 执行查询
response = query_engine.query("文章的主要观点是什么?")
print(response)

9. Weaviate - 向量数据库

Weaviate是开源的向量搜索引擎,适用于AI应用。

代码语言:javascript
复制
import weaviate
from weaviate.auth import AuthApiKey

# 连接到Weaviate实例
client = weaviate.connect_to_local(
    auth_credentials=AuthApiKey("your-api-key")
)

# 创建集合
collection = client.collections.create(
    name="Article",
    properties=[
        {"name": "title", "dataType": ["text"]},
        {"name": "content", "dataType": ["text"]}
    ],
    vectorizer_config=weaviate.classes.config.Configure.Vectorizer.text2vec_openai()
)

# 插入数据
data_object = {"title": "AI最新进展", "content": "..."}
collection.data.insert(data_object)

# 查询
response = collection.query.near_text(
    query="人工智能",
    limit=5
)
print(response.objects)

10. Flet - 跨平台UI框架

Flet允许仅使用Python构建Web、移动和桌面应用。

代码语言:javascript
复制
import flet as ft

def main(page: ft.Page):
    def button_clicked(e):
        t.value = f"你好, {tb.value}!"
        page.update()

    t = ft.Text()
    tb = ft.TextField(label="你的名字")
    b = ft.ElevatedButton("打招呼", on_click=button_clicked)
    
    page.add(tb, b, t)

ft.app(target=main)

11. Textual - 终端UI框架

Textual用于构建丰富的终端用户界面。

代码语言:javascript
复制
from textual.app import App, ComposeResult
from textual.widgets import Header, Footer, Button

class ButtonApp(App):
    def compose(self) -> ComposeResult:
        yield Header()
        yield Button("点击我!", id="click")
        yield Footer()

    def on_button_pressed(self, event: Button.Pressed) -> None:
        self.notify("按钮被点击了!")

if __name__ == "__main__":
    app = ButtonApp()
    app.run()

12. Reflex - 全栈Web框架

Reflex是用Python构建全栈Web应用的框架。

代码语言:javascript
复制
import reflex as rx

class State(rx.State):
    count: int = 0

    def increment(self):
        self.count += 1

    def decrement(self):
        self.count -= 1

def index():
    return rx.hstack(
        rx.button("减少", on_click=State.decrement),
        rx.text(State.count),
        rx.button("增加", on_click=State.increment),
    )

app = rx.App()
app.add_page(index)
app.compile()

13. Ruff - 极速代码检查

Ruff是基于Rust的超快Python代码检查工具。

代码语言:javascript
复制
# 检查代码
ruff check .

# 自动修复
ruff check --fix .

# 格式化代码
ruff format .

14. Pydantic - 数据验证

Pydantic通过类型提示实现数据验证和设置管理。

代码语言:javascript
复制
from pydantic import BaseModel, EmailStr, validator

class User(BaseModel):
    name: str
    email: EmailStr
    age: int
    
    @validator('age')
    def age_must_be_positive(cls, v):
        if v <= 0:
            raise ValueError('年龄必须是正数')
        return v

user = User(name="张三", email="zhang@example.com", age=25)
print(user.json())

15. PyScript - 浏览器中的Python

PyScript允许在浏览器中直接运行Python。通过 HTML 嵌入实现交互式 Web 应用开发。其核心优势包括无需 JavaScript 基础、支持科学计算库(如 NumPy、Pandas)和客户端处理数据以减轻服务器压力。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href=" https://pyscript.net/latest/pyscript.css " />
    <script defer src=" https://pyscript.net/latest/pyscript.js "></script>
</head>
<body>
    <py-script>
        from datetime import datetime
        now = datetime.now()
        print(f"当前时间: {now}")
    </py-script>
</body>
</html>

16. FastStream - 异步消息处理

FastStream是用于构建异步消息处理应用的框架。

代码语言:javascript
复制
from faststream import FastStream, Logger
from faststream.rabbitmq import RabbitBroker

broker = RabbitBroker("amqp://guest:guest@localhost:5672/")
app = FastStream(broker)

@broker.subscriber("test-queue")
async def handle(msg: str, logger: Logger):
    logger.info(f"收到消息: {msg}")
    return "处理完成"

@app.after_startup
async def test():
    await broker.publish("Hello!", "test-queue")

17. Scrapy - 网页爬虫框架

Scrapy是快速、高层次的网页爬取框架。

代码语言:javascript
复制
import scrapy

class BlogSpider(scrapy.Spider):
    name = 'blogspider'
    start_urls = [' https://example.com/blog ']

    def parse(self, response):
        for title in response.css('.post-title'):
            yield {'title': title.css('::text').get()}

        for next_page in response.css('a.next-posts-link'):
            yield response.follow(next_page, self.parse)

18. Pytest - 测试框架

Pytest使编写小型测试变得简单。

代码语言:javascript
复制
# test_sample.py
def func(x):
    return x + 1

def test_answer():
    assert func(3) == 4

# 测试类
class TestClass:
    def test_one(self):
        x = "this"
        assert "h" in x

    def test_two(self):
        x = "hello"
        assert hasattr(x, "upper")

19. Docker SDK - Docker集成

PythonDocker SDK允许从Python代码控制Docker

代码语言:javascript
复制
import docker

client = docker.from_env()

# 列出所有容器
for container in client.containers.list():
    print(container.name)

# 运行新容器
container = client.containers.run(
    "alpine",
    "echo hello world",
    detach=True
)
print(container.logs())

20. Loguru - 日志记录

Loguru提供了简单而强大的日志记录功能。

代码语言:javascript
复制
from loguru import logger

logger.add("file_{time}.log", rotation="500 MB")

logger.debug("这是一条调试信息")
logger.info("这是一条普通信息")
logger.warning("这是一条警告信息")
logger.error("这是一条错误信息")

# 带上下文的日志
def process_data(data):
    with logger.contextualize(task_id=123):
        logger.info("处理数据中...")
        # 处理逻辑
        logger.success("数据处理完成")

这20个Python库覆盖了Python开发的各个方面,从数据处理到Web开发,从人工智能到系统工具。掌握这些库将极大提升开发效率和项目质量。随着Python生态系统的不断发展,这些库也在持续更新,建议定期查看它们的官方文档以获取最新功能和最佳实践。

“无他,惟手熟尔”!有需要的用起来。

如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!😊

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Nicholas与Pypi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Polars - 极速数据帧库
  • 2. DuckDB - 内存分析数据库
  • 3. Pandera - 数据验证工具
  • 4. FastAPI - 高性能API框架
  • 5. Django - 全功能Web框架
  • 6. Robyn - 新兴高性能框架
  • 7. LangChain - AI应用框架
  • 8. LlamaIndex - 检索增强生成
  • 9. Weaviate - 向量数据库
  • 10. Flet - 跨平台UI框架
  • 11. Textual - 终端UI框架
  • 12. Reflex - 全栈Web框架
  • 13. Ruff - 极速代码检查
  • 14. Pydantic - 数据验证
  • 15. PyScript - 浏览器中的Python
  • 16. FastStream - 异步消息处理
  • 17. Scrapy - 网页爬虫框架
  • 18. Pytest - 测试框架
  • 19. Docker SDK - Docker集成
  • 20. Loguru - 日志记录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档