真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

異步Python框架有哪些

這篇文章主要介紹了異步Python框架有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)主營尼勒克網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,尼勒克h5小程序設(shè)計(jì)搭建,尼勒克網(wǎng)站營銷推廣歡迎尼勒克等地區(qū)企業(yè)咨詢


1、Tornado

Tornado 根本不是什么新框架,它最初是由FriendFeed(后被Facebook收購)在2009年發(fā)布。  從一開始就提供有異步編程的功能。
異步Python框架有哪些

Tornado 不僅僅是Web框架,同時(shí)它內(nèi)置了很多異步模塊,可用于自己構(gòu)建異步應(yīng)用。  這些模塊包括:
  • 協(xié)同程序和其他原語(tornado.gen,tornado.locks,tornado.queues等)
  • 網(wǎng)絡(luò)模塊(tornado.ioloop,tornado.iostream)
  • 異步服務(wù)器和客戶端(tornado.httpserver,httpclient,等)

通過這些模塊,Tornado 構(gòu)建了自己的異步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社區(qū)中擁有很多追隨者,并且經(jīng)驗(yàn)豐富的架構(gòu)師使用它們來構(gòu)建功能強(qiáng)大的系統(tǒng)。  這個(gè)框架長期以來一直在解決并發(fā)問題,但是由于它不支持WSGI標(biāo)準(zhǔn)(大部分Python庫仍在同步中),因此尚未成為主流。
國內(nèi)據(jù)說知乎是基于Torando構(gòu)建的。

2、 Snaic

Sanic是一個(gè)誕生有3年的框架:  它只支持3.6以上Python版本,支持通用的async / await語法,開箱即用,因此你無需閱讀大量文檔就可以寫出你的一個(gè)HTTP 處理器。
異步Python框架有哪些
除了  async  關(guān)鍵字之外,語法上和 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世界中最流行和最受歡迎的異步框架。  它具有你項(xiàng)目中需要的所有功能:  路由,中間件,Cookie,版本控制,藍(lán)圖,基于類的視圖,靜態(tài)文件,流,sockets,此外你還可以集成模板,數(shù)據(jù)庫驅(qū)動(dòng),文件I / O,隊(duì)列等等。

3、Vibora

Vibora和Sanic非常像,致力于成為最快的Python Web服務(wù)器。  他們網(wǎng)站首頁有一個(gè)框架比較圖:
異步Python框架有哪些

Vibora聲稱比其它框架快幾倍,比競爭對(duì)手Sanic還快兩倍多。  當(dāng)然,這個(gè)基準(zhǔn)測試要持懷疑態(tài)度。
盡管在語法和功能上,Vibora可以與Sanic媲美但我認(rèn)為Sanic更加成熟,因?yàn)樗呀?jīng)存在了很長一段時(shí)間并且具有更大的社區(qū)。

   
   
  
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你一定會(huì)喜歡
異步Python框架有哪些
Quart符合ASGI標(biāo)準(zhǔn),該標(biāo)準(zhǔn)是WSGI標(biāo)準(zhǔn)的后繼產(chǎn)品,并提供異步支持。  Quart不僅與Flask相似,而且與Flask API兼容!  該框架的作者希望保留了Flask的風(fēng)格,只是向其中添加異步、WebSocket和HTTP 2支持。  因此,你可以從Flask文檔中學(xué)習(xí)Quart的用法,只需要記住Quart中的函數(shù)是異步的就行。

   
   
  
from quart import Quart        
       
       app = Quart(__name__)        
       
       @app.route('/')        
       async def hello():        
           return 'hello'        
       
       app.run()      
幾乎完全像Flask
由于Quart是從Flask中演進(jìn)過來的,因此Flask的所有功能均可用:  路由,中間件,會(huì)話,模板,藍(lán)圖等。  實(shí)際上,你甚至可以直接在Quart內(nèi)部使用Flask的擴(kuò)展插件。  不過,有一個(gè)問題是它僅支持Python 3.7+。

5、FastAPI

FastAPI似乎是異步 Python 框架里功能、文檔最豐富的框架。
異步Python框架有哪些
該框架的作者深入研究了其他幾個(gè)框架,從諸如Django到Sanic之類的現(xiàn)代框架,以及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勝過其他框架的殺手锏,  自動(dòng)生成API文檔:
編寫API接口后,你就可以使用符合標(biāo)準(zhǔn)的UI如SwaggerUI,ReDoc等來使用API。

異步Python框架有哪些



那性能呢?  FastAPI是基于Starlette庫構(gòu)建的,其性能可與Node相匹配,在某些情況下甚至可以與Go相匹配。  總而言之,我真的有一種感覺,F(xiàn)astAPI將成為Python的頂級(jí)異步框架。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“異步Python框架有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


標(biāo)題名稱:異步Python框架有哪些
網(wǎng)頁鏈接:http://weahome.cn/article/jjjphg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部