异步Python框架有哪些
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要介绍了异步Python框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、TornadoTornado 根本不是什
千家信息网最后更新 2025年01月24日异步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安全错误
数据库的锁怎样保障安全
如何加战地1服务器
黎明杀机当中哪个服务器最强
网狐数据库说明
支付宝里的服务器
河南 郑州河马网络技术
ca证书服务器什么东西
无锡网络软件开发价格表
广州市首个网络安全创业园
武汉营销网络安全维护收费标准
软件开发部包含什么组
新的cc防护服务器
程序员怎样申请软件开发工资
idc机房和云服务器厂商
不能附加数据库解决方案
网络安全三同步原则是什么
最新软件开发员工保密协议
微信小程序开发需要自己搭服务器
软件开发合作计划书方案
服务器可以打开网站
未来学什么网络技术
网络安全中的保密性是指
编写dll读写数据库
js获取数据库
csshtml数据库
网络安全和信息通报中心
网络安全知识与技术的内容
域名服务器 定义
如何查看云服务器网络ip
招软件开发合伙人
南阳安信网络技术服务