异步Python框架有哪些
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍了异步Python框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、TornadoTornado 根本不是什
千家信息网最后更新 2025年12月03日异步Python框架有哪些
Tornado 根本不是什么新框架,它最初是由FriendFeed(后被Facebook收购)在2009年发布。 从一开始就提供有异步编程的功能。
Tornado 不仅仅是Web框架,同时它内置了很多异步模块,可用于自己构建异步应用。 这些模块包括:
通过这些模块,Tornado 构建了自己的异步Web框架模块。
这篇文章主要介绍了异步Python框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1、Tornado
协同程序和其他原语(tornado.gen,tornado.locks,tornado.queues等) 网络模块(tornado.ioloop,tornado.iostream) 异步服务器和客户端(tornado.httpserver,httpclient,等)
通过这些模块,Tornado 构建了自己的异步Web框架模块。
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()Tornado在Python社区中拥有很多追随者,并且经验丰富的架构师使用它们来构建功能强大的系统。 这个框架长期以来一直在解决并发问题,但是由于它不支持WSGI标准(大部分Python库仍在同步中),因此尚未成为主流。国内据说知乎是基于Torando构建的。2、 Snaic
Sanic是一个诞生有3年的框架: 它只支持3.6以上Python版本,支持通用的async / await语法,开箱即用,因此你无需阅读大量文档就可以写出你的一个HTTP 处理器。除了 async 关键字之外,语法上和 flask 基于没差别。 from sanic import Sanic
from sanic.response import json
app = Sanic()
@app.route("/")
async def test(request):
return json({"hello": "world"})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)Sanic可以说是Python世界中最流行和最受欢迎的异步框架。 它具有你项目中需要的所有功能: 路由,中间件,Cookie,版本控制,蓝图,基于类的视图,静态文件,流,sockets,此外你还可以集成模板,数据库驱动,文件I / O,队列等等。3、Vibora
Vibora和Sanic非常像,致力于成为最快的Python Web服务器。 他们网站首页有一个框架比较图:
Vibora声称比其它框架快几倍,比竞争对手Sanic还快两倍多。 当然,这个基准测试要持怀疑态度。尽管在语法和功能上,Vibora可以与Sanic媲美但我认为Sanic更加成熟,因为它已经存在了很长一段时间并且具有更大的社区。 from vibora import Vibora, JsonResponse
app = Vibora()
@app.route('/')
async def home():
return JsonResponse({'hello': 'world'})
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8000)4、Quart
如果您喜欢Flask,但又要支持异步, 那么Quart你一定会喜欢
Quart符合ASGI标准,该标准是WSGI标准的后继产品,并提供异步支持。 Quart不仅与Flask相似,而且与Flask API兼容! 该框架的作者希望保留了Flask的风格,只是向其中添加异步、WebSocket和HTTP 2支持。 因此,你可以从Flask文档中学习Quart的用法,只需要记住Quart中的函数是异步的就行。 from quart import Quart
app = Quart(__name__)
@app.route('/')
async def hello():
return 'hello'
app.run()几乎完全像Flask由于Quart是从Flask中演进过来的,因此Flask的所有功能均可用: 路由,中间件,会话,模板,蓝图等。 实际上,你甚至可以直接在Quart内部使用Flask的扩展插件。 不过,有一个问题是它仅支持Python 3.7+。5、FastAPI
FastAPI似乎是异步 Python 框架里功能、文档最丰富的框架。该框架的作者深入研究了其他几个框架,从诸如Django到Sanic之类的现代框架,以及NestJS(Node.js,Typescript Web框架)。语法甚至可以说它比我们遇到的其他框架更有趣: rom fastapi import FastAPI
app = FastAPI()
@app.get("/users/me")
async def read_user_me():
return {"user_id": "the current user"}
@app.get("/users/{user_id}")
async def read_user(user_id: str):
return {"user_id": user_id}FastAPI胜过其他框架的杀手锏, 自动生成API文档:编写API接口后,你就可以使用符合标准的UI如SwaggerUI,ReDoc等来使用API。
那性能呢? FastAPI是基于Starlette库构建的,其性能可与Node相匹配,在某些情况下甚至可以与Go相匹配。 总而言之,我真的有一种感觉,FastAPI将成为Python的顶级异步框架。感谢你能够认真阅读完这篇文章,希望小编分享的"异步Python框架有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
框架
支持
功能
标准
模块
文档
篇文章
语法
中间件
作者
同时
性能
文件
服务器
模板
版本
社区
蓝图
路由
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
什么是服务器镜像
ibm公司服务器
美国网络技术有多强
如何使用ncode材料数据库
服务器安全日志重要性
删除数据库库表的语句
mdb数据库报主键索引错误
数据库的对查询结果排序
互联网 大赛项目邦巍科技
美能达ftp服务器
为什么有的服务器恐龙都是炫彩
网络安全态势感知的编制单位
邯郸网络技术费用
勒索bt币服务器数据库
网络技术如何划分子网
mysql数据库切换
怀柔区正规软件开发专业服务
镇江计算机网络技术服务价格
ip服务器客户机的定义
专科生学好软件开发好找工作吗
网络安全法一般是哪一年颁布的
有做服务器定制显卡的吗
801网络安全就业实训
网络安全的影响包含哪几方面
如何与软件开发人员沟通
数据库技术与应用,瞿有甜
中国电信公司网络技术类
网络安全管理员中级工
创始人数据库营销
教务管理系统 数据库设计