【.com快译】凭借平缓的学习曲线和简单明了的语法,Python在全球范围内的流行度呈指数级增长。这种编码语言通常可用于Web开发、软件开发、数学计算、系统脚本以及几乎所有其他领域。作为开发人员的首选语言,人们不仅可以受益于其跨平台兼容性和代码压缩能力,还可以通过Python框架创建强大的应用程序编程接口(API)。什么是API?API是互联网上所有其他平台背后的引擎。它们辅助不同的应用,在后台相互通信,相互保持联系。您可以想象自己在一家餐厅,菜单上列出了厨房可以烹制的所有菜肴。然后接单系统收到你的订单后,会传给后台处理。后台完成后,系统会从后台获取“熟食”发送给用户。这就是API的基本作用:帮助用户与系统进行通信。下面,我们就来看看八个优秀的Python框架,可以用来构建API:1.DjangoRESTDjangoREST为开发者提供了丰富的特性和选择。其中,RepresentationalStateTransfer(REST)是一种基于网络的架构系统,可用于数据通信。REST特性包括:一组可浏览的WebAPI、几个简化的API开发流程和内置的身份验证策略。我们可以使用单个PIP命令轻松安装DjangoREST。当然,在安装DjangoREST之前,请确保您的系统上安装了Python3.5或更高版本。DjangoREST不仅提供方便的ORM和非ORM源??序列化,而且该框架受到RedHat、Mozilla和Heroku等流行组织的信任,以及各种活跃社区中开发人员的持续支持。2.FlaskRestful顾名思义,FlaskRestful是为简化和加速API开发过程而量身定做的。作为一个轻量级的Python框架,只需要几条命令就可以完成API的构建。可以说,作为公认的API工具,Flask能够提供直接易用的API开发体验。另外,Flask对于格式化字段模块和marshal_with()装饰器等数据字段也非常方便。Flask作为一个具有各种通用API特性的全栈Python框架工具,Flask通过使用representation()装饰器提供了各种数据的表示形式,例如XML、CSV和HTML。当然,要想顺利运行Flask,还需要提前在自己的机器上安装好PyPy2.7,或者Python3.5及更高版本。3、作为开发者的首选工具,Falcon可以用来创建快速、高性能的API。它遵循WSGI(WebServerGatewayInterface,PythonWebServerGatewayInterface),兼容多种服务器和平台,通过其面向对象和基于类的接口可以为用户带来无缝的转换体验。Falcon使用HTTP和REST架构来帮助创建用户友好的设计。它的REST框架通过提供开发调试器简化了整个开发过程。而且,这类调试器可以与其内置的服务器实现良好的配合和配合。此外,与其他框架不同,Falcon的安装过程不仅非常简单明了,而且几乎不需要用户的人工干预。4.ConnexionConnexion可以自动处理HTTPS并使用各种规范的OpenAPI。也就是说,你可以根据Python代码生成API规范,也可以遵循OpenAPI规范,走不同的路线。当然,你必须以YAML格式编写OpenAPI规范,然后映射到Python函数的各个端点,实现请求及其端点的自动验证。Connexion可以使用OAuth2授权类型处理基于令牌的身份验证。它不仅有自己的WebSwagger控制台UI,还允许用户调用API的端点。此外,Connexion框架还包含:API版本控制、payload自动序列化等便捷功能。5.FastAPI顾名思义,FastAPI是构建API最快的Python框架之一。根据用户反馈,可以提高开发速度200-300%。目前,FastAPI广泛用于构建异步Web应用程序,并得到200多个社区贡献者的支持。Web框架不仅使开发过程变得快速和简单,而且提供了大量成熟的功能,例如:交互式API文档和重复代码消除。由于是基于Python的,该框架可以降低约40%的错误率。在FastAPI中,还可以使用VSCode、PyCharm等常用编辑器的自动补全功能。此外,FastAPI框架还具有无限插件支持、集成安全协议等良好特性。6.Hug秉承“一次编写,随处使用”的理念,Hug可以方便用户创建高效的API、本地包和CLI,并在代码的任何地方使用。Hug的高速性能来自于它是在Cython中编译的,并且只在必要时才使用资源。Hug当前支持Python3,您可以使用单个pip命令进行安装。同时,Hug拥有业界最好的API文档。您可以使用内置的hug.test模块来测试API的完整Python堆栈。7.EveEve的灵感来自Flask和Cerberus,并吸收了两者的精华。该工具专为那些需要使API开发过程变得简单、快速和高效的人量身定制。因此,该框架不仅非常适合高效地创建中型Web服务,而且还提供了可定制端点、分页、排序和过滤等功能。总的来说,在您获得其开箱即用的数据验证支持的同时,您还可以调用Eve的高级功能,例如身份验证、缓存和速率限制。同时,该工具还增加了对全方位CRUD操作和跨源资源共享(CORS)功能的广泛支持。此外,您可以轻松地将Eve与SQL数据库、MongoDB、Elasticsearch和Neo4js集成。8.Cornice作为一个基于REST的金字塔框架,Cornice为构建和记录基于REST的Web服务提供了各种帮助。当然,它也可以为各种服务添加跨源资源共享(CORS)支持。由于Cornice自动使用HTTP规范,因此Pyramid可以根据应用程序的需要进行自我扩展。比如它可以使用Pyramid的ACL进行认证授权,在验证过程中发现无效数据,从而触发400类型的错误。此外,该框架还允许您使用命令行Python工具-Tox进行各种自动化测试。总结可以说,API在我们使用的各种互联网服务中继续扮演着重要的角色。上面我们讨论了8个Python框架,它们都可以使API开发过程变得简单和快速。其中Hug、Eve等框架更适合小型项目,而Django、Flask、Falcon则适合大型应用。原标题:HowtoBuildAPIsinPython:8PopularFrameworks,作者:WiniBhalla
