
Python作为一门多功能编程语言,拥有丰富的开源框架生态系统,覆盖Web开发、数据科学、自动化、游戏开发等多个领域。本文将介绍50个常用Python框架,每个框架均包含使用说明、适用场景及原创代码示例,帮助开发者快速掌握其核心功能。
使用说明:全功能Web框架,支持ORM、模板引擎和自动化管理界面。
适用场景:构建复杂的企业级Web应用,如内容管理系统、电商平台。
代码示例:
# 创建简单的视图和路由
from django.http import HttpResponse
from django.urls import path
def home(request):
return HttpResponse("Welcome to Django!")
urlpatterns = [
path('', home),
]使用说明:轻量级微框架,依赖扩展实现功能。
适用场景:快速开发API或小型Web服务。
代码示例:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, Flask!"
if __name__ == '__main__':
app.run(debug=True)使用说明:基于类型提示的现代API框架,自动生成文档。
适用场景:高性能API开发,需异步支持的项目。
代码示例:
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id}使用说明:异步网络库,适用于长连接场景。
适用场景:实时Web服务、WebSocket应用。
代码示例:
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Tornado is running!")
app = tornado.web.Application([(r'/', MainHandler)])
app.listen(8888)
tornado.ioloop.IOLoop.current().start()使用说明:数据处理与分析库,提供DataFrame结构。
适用场景:数据清洗、统计分析、时间序列处理。
代码示例:
import pandas as pd
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
print(df.head())使用说明:数值计算基础库,支持多维数组操作。
适用场景:科学计算、矩阵运算、机器学习数据预处理。
代码示例:
import numpy as np
arr = np.array([1, 2, 3])
print(arr * 2) # 输出 [2 4 6]使用说明:机器学习算法库,包含分类、回归、聚类等工具。
适用场景:模型训练、数据挖掘、预测分析。
代码示例:
from sklearn.ensemble import RandomForestClassifier
X = [[0, 0], [1, 1]]
y = [0, 1]
clf = RandomForestClassifier()
clf.fit(X, y)
print(clf.predict([[2, 2]])) # 输出 使用说明:端到端机器学习平台,支持深度学习模型构建。
适用场景:神经网络训练、图像识别、自然语言处理。
代码示例:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu'),
tf.keras.layers.Dense(1)
])
model.compile(optimizer='adam', loss='mse')使用说明:动态图深度学习框架,灵活易调试。
适用场景:学术研究、原型开发、计算机视觉项目。
代码示例:
import torch
x = torch.tensor([1.0, 2.0])
y = x * 2
print(y) # 输出 tensor([2., 4.])使用说明:Web自动化测试工具,模拟浏览器操作。
适用场景:UI测试、爬虫、自动化表单提交。
代码示例:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(" https://www.example.com ")
print(driver.title)
driver.quit()使用说明:简洁的测试框架,支持参数化测试和插件扩展。
适用场景:单元测试、集成测试。
代码示例:
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5使用说明:分布式任务队列,支持异步任务处理。
适用场景:后台任务、定时作业、大规模数据处理。
代码示例:
from celery import Celery
app = Celery('tasks', broker='redis://localhost')
@app.task
def multiply(x, y):
return x * y
# 调用任务
multiply.delay(4, 5)使用说明:2D游戏开发库,提供图形和声音接口。
适用场景:独立游戏开发、教育项目。
代码示例:
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 300))
pygame.display.set_caption("Pygame Demo")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()使用说明:现代Python游戏框架,简单易学。
适用场景:2D游戏、图形演示。
代码示例:
import arcade
class Game(arcade.Window):
def on_draw(self):
arcade.start_render()
arcade.draw_circle_filled(100, 100, 25, arcade.color.BLUE)
game = Game(800, 600, "Arcade Demo")
arcade.run()使用说明:HTTP库,简化网络请求操作。
适用场景:API调用、网页抓取。
代码示例:
import requests
response = requests.get(' https://api.github.com')
print(response.status_code)使用说明:HTML/XML解析库,提取网页数据。
适用场景:网页爬虫、数据抽取。
代码示例:
from bs4 import BeautifulSoup
html_doc = "<html><body><p>Hello World</p></body></html>"
soup = BeautifulSoup(html_doc, 'html.parser')
print(soup.p.text) # 输出 "Hello World"使用说明:简化日志记录,支持彩色输出和异常捕获。
适用场景:应用日志管理、调试。
代码示例:
from loguru import logger
logger.add("file.log")
logger.info("This is a log message")使用说明:依赖管理和打包工具,替代setup.py。
适用场景:项目依赖管理、打包发布。
代码示例(命令行):
poetry new myproject
cd myproject
poetry add requests使用说明:超轻量级WSGI微框架,单文件部署
适用场景:原型开发、小型API服务
代码示例:
from bottle import route, run
@route('/hello')
def hello():
return "Hello Bottle!"
run(host='localhost', port=8080)使用说明:面向对象的Web框架,内置HTTP服务器
适用场景:企业级应用、RESTful API
代码示例:
import cherrypy
class HelloWorld:
@cherrypy.expose
def index(self):
return "Hello CherryPy!"
cherrypy.quickstart(HelloWorld())使用说明:高层神经网络API,简化深度学习
适用场景:快速原型、教育用途
代码示例:
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(10, activation='relu', input_dim=8))
model.compile(optimizer='adam', loss='binary_crossentropy')使用说明:计算机视觉库,图像处理工具
适用场景:图像识别、视频分析
代码示例:
import cv2
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray Image', gray)
cv2.waitKey(0)使用说明:并行计算库,扩展Pandas和NumPy
适用场景:大数据处理、分布式计算
代码示例:
import dask.dataframe as dd
df = dd.read_csv('large_dataset.csv')
result = df.groupby('category').mean().compute()使用说明:高性能DataFrame库,懒加载数据
适用场景:海量数据分析、内存优化
代码示例:
import vaex
df = vaex.open('huge_file.hdf5')
df.groupby(df.category).agg({'value': 'mean'})使用说明:专业爬虫框架,异步处理
适用场景:大规模网页抓取、数据采集
代码示例:
import scrapy
class BlogSpider(scrapy.Spider):
name = 'blogspider'
start_urls = [' https://blog.example.com' ]
def parse(self, response):
for title in response.css('h2'):
yield {'title': title.css('a ::text').get()}使用说明:负载测试工具,模拟用户行为
适用场景:性能测试、压力测试
代码示例:
from locust import HttpUser, task
class WebsiteUser(HttpUser):
@task
def index_page(self):
self.client.get("/")使用说明:关键字驱动的测试框架
适用场景:验收测试、自动化测试
代码示例:
*** Test Cases ***
Valid Login
Open Browser https://example.com chrome
Input Text username testuser
Input Password password testpass
Click Button login
Page Should Contain Welcome使用说明:Python标准GUI工具包
适用场景:桌面应用、简单界面
代码示例:
import tkinter as tk
window = tk.Tk()
label = tk.Label(window, text="Hello Tkinter!")
label.pack()
window.mainloop()使用说明:Qt库的Python绑定,专业GUI开发
适用场景:跨平台桌面应用
代码示例:
from PyQt5.QtWidgets import QApplication, QLabel
app = QApplication([])
label = QLabel('Hello PyQt!')
label.show()
app.exec_()使用说明:跨平台移动应用框架
适用场景:移动应用、多点触控应用
代码示例:
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello Kivy!')
TestApp().run()使用说明:事件驱动网络引擎
适用场景:网络协议实现、服务器开发
代码示例:
from twisted.internet import reactor, protocol
class Echo(protocol.Protocol):
def dataReceived(self, data):
self.transport.write(data)
factory = protocol.ServerFactory()
factory.protocol = Echo
reactor.listenTCP(8000, factory)
reactor.run()使用说明:高性能消息队列库
适用场景:分布式系统、消息传递
代码示例:
import zmq
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5555")
message = socket.recv()
socket.send(b"World")使用说明:实时Web通信框架
适用场景:聊天应用、实时数据推送
代码示例:
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
socketio = SocketIO(app)
@socketio.on('message')
def handle_message(data):
emit('response', {'data': 'Received: ' + data})使用说明:2D绘图库,创建静态图表
适用场景:数据可视化、科学绘图
代码示例:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('Some Numbers')
plt.show()使用说明:基于Matplotlib的统计可视化
适用场景:数据分布可视化、统计图表
代码示例:
import seaborn as sns
tips = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill", data=tips)使用说明:交互式可视化库
适用场景:动态图表、Web可视化
代码示例:
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length")
fig.show()使用说明:交互式Web可视化
适用场景:大数据可视化、仪表板
代码示例:
from bokeh.plotting import figure, show
p = figure(title="Basic Line Plot", x_axis_label='x', y_axis_label='y')
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5])
sho(p)使用说明:Python SQL工具包和ORM
适用场景:数据库操作、复杂查询
代码示例:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
engine = create_engine('sqlite:///users.db')
Base.metadata.create_all(engine)使用说明:轻量级ORM,简单易用
适用场景:小型项目、快速开发
代码示例:
from peewee import *
db = SqliteDatabase('people.db')
class Person(Model):
name = CharField()
class Meta:
database = db
db.connect()
db.create_tables([Person])使用说明:Django内置的ORM系统
适用场景:Django项目、快速数据库操作
代码示例:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
published_date = models.DateField()使用说明:系统管理工具,自动化部署
适用场景:服务器管理、部署脚本
代码示例:
from fabric import Connection
result = Connection('web-server').run('uname -s')
print(f"Server type: {result.stdout.strip()}")使用说明:自动化运维工具,配置管理
适用场景:基础设施管理、批量部署
代码示例(YAML):
- name: Ensure Apache is installed
hosts: webservers
tasks:
- name: Install Apache
apt:
name: apache2
state: present使用说明:Docker的Python客户端
适用场景:容器管理、自动化部署
代码示例:
import docker
client = docker.from_env()
client.containers.run("ubuntu", "echo hello world")使用说明:密码学工具包
适用场景:数据加密、安全通信
代码示例:
from Crypto.Cipher import AES
key = b'Sixteen byte key'
cipher = AES.new(key, AES.MODE_EAX)
data = b'Secret message'
ciphertext, tag = cipher.encrypt_and_digest(data)使用说明:密码哈希库
适用场景:用户认证、密码安全
代码示例:
from passlib.hash import pbkdf2_sha256
hash = pbkdf2_sha256.hash("password")
print(pbkdf2_sha256.verify("password", hash)) # True使用说明:日期时间处理库
适用场景:时间操作、时区转换
代码示例:
import arrow
utc = arrow.utcnow()
local = utc.to('US/Pacific')
print(local.format('YYYY-MM-DD HH:mm:ss'))使用说明:数据验证库,基于类型提示
适用场景:API数据验证、配置管理
代码示例:
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
user = User(name="John", age=30)
print(user.json()) # {"name": "John", "age": 30}使用说明:终端富文本输出
适用场景:命令行工具、调试输出
代码示例:
from rich.console import Console
console = Console()
console.print("Hello, [bold magenta]Rich[/bold magenta]!", style="bold green")使用说明:命令行界面创建工具
适用场景:CLI应用、工具开发
代码示例:
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
for _ in range(count):
click.echo('Hello World!')
if __name__ == '__main__':
hello()使用说明:Python代码格式化工具 适用场景:代码规范、团队协作 代码示例(命令行):
black my_script.py # 自动格式化代码以上50个框架覆盖了Python开发的主要领域,每个框架都有其独特的优势和适用场景。开发者可以根据具体项目需求选择合适的工具组合,提高开发效率和质量。
“无他,惟手熟尔”!有需要的用起来!
如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!
本文分享自 Nicholas与Pypi 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!