- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Python是最流行的编程语言之一。从脚本到API开发再到机器学习,Python都有着它自己的足迹。因为Python注
重开发者的体验和其所能提供的大量工具而大受欢迎。网络框架Flask就是这样一个工具,它在机器学习社区中很
受欢迎。它也被广泛用于API开发。但是有一个新的框架正在崛起:FastAPI。与Flask不同,FastAPI是一个ASGI
(AsynchronousServerGatewayInterface异步服务器网关接口)框架。与Go和NodeJS一样,FastAPI是最快的基
于Python的Web框架之一。
FastAPIvsFlask
FastAPI的构建考虑了以下三个主要问题:
速度
开发者经验
开放标准
你可以把FastAPI看作是把Starlette、Pydantic、OpenAPI和JSONSchema粘合在一起的胶水。
本质上说,FastAPI使用Pydantic进行数据验证,并使用Starlette作为工具,使其与Flask相比快得惊人,具有与
Node或Go中的高速WebAPIs相同的性能。
Starlette+Uvicorn提供异步请求能力,这是Flask所缺乏的。
有了Pydantic以及类型提示,你就可以得到一个具有自动完成功能的良好的编辑体验。你还可以得到数据验证、
序列化和反序列化(用于构建一个API),以及自动化文档(通过JSONSchema和OpenAPI)。
也就是说,Flask的使用更为广泛,所以它经过了实战检验,并且有更大的社区支持它。由于这两个框架都是用来
扩展的,Flask显然是赢家,因为它有庞大的插件生态系统。
建议:
如果你对上述三个问题有共鸣,厌倦了Flask扩展时的大量选择,希望利用异步请求,或者只是想建立一个
RESTfulAPI,请使用FastAPI。
如果你对FastAPI的成熟度不满意,需要用服务器端模板构建一个全栈应用,或者离不开一些社区维护的Flask
扩展,就可以使用Flask。
开始
安装
与任何其他Python包一样,安装非常简单。
Flask
pipinstallflask
#or
poetryaddflask
pipenvinstallflask
condainstallflask
FastAPI
pipinstallfastapiuvicorn
#or
poetryaddfastapiuvicorn
pipenvinstallfastapiuvicorn
condainstallfastapiuvicorn-cconda-forge
与Flask不同,FastAPI没有内置的开发服务器,因此需要像Uvicorn或Daphne这样的ASGI服务器。
HelloWorld应用
Flask
#flask_code.py
fromflaskimportFlask
app=Flask(__name__)
@app.route(/)
defhome():
return{Hello:World}
if__name__==__main__:
app.run()
FastAPI
#fastapi_code.py
文档评论(0)