• 发文
  • 评论
  • 微博
  • 空间
  • 微信

一个易学习、高性能的Python的Web开发框架:FastAPI

飞桨PPDB 2024-03-22 11:18 发文

如果你问我学习Web开发需要多长时间,我的回答是:五分钟(前提是有Python基础)。

本文将为大家推荐一款高性能、易于学习、高效编码且生产可用的Web开发框架——FastAPI。

什么是FastAPI

FastAPI

FastAPI是一个用于构建API的现代、快速(高性能)的web框架。

前后端分离已经成为Web开发的主流,FastAPI框架则主要为构建API而生,不再关心页面渲染相关的能力。

FastAPI也提出了一句响亮的口号:

FastAPI 框架,高性能,易于学习,高效编码,生产可用

您心动了吗?

FastAPI关键特性快捷

可与 NodeJS 和 Go 并肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。

高效编码

提高功能开发速度约 200% 至 300%。

更少bug

减少约 40% 的人为(开发者)导致错误。

智能

极佳的编辑器支持。处处皆可自动补全,减少调试时间。

简单

设计的易于使用和学习,阅读文档的时间更短。

简短

使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。

健壮

生产可用级别的代码。还有自动生成的交互式文档。

标准化

基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。

大佬对FastAPI的评价

我说好没得用,看看全球大佬们的评价吧。

Kabir Khan - 微软

最近我一直在使用 FastAPI。实际上我正在计划将其用于我所在的微软团队的所有机器学习服务。其中一些服务正被集成进核心 Windows 产品和一些 Office 产品。

Piero Molino,Yaroslav Dudin 和 Sai Sumanth Miryala - Uber

我们选择了 FastAPI 来创建用于获取预测结果的 REST 服务。[用于 Ludwig]

Kevin Glisson,Marc Vilanova,Forest Monsen - Netflix

Netflix 非常高兴地宣布,正式开源我们的危机管理编排框架:Dispatch![使用 FastAPI 构建]

Brian Okken - Python Bytes 播客主持人

FastAPI 让我兴奋的欣喜若狂。它太棒了!

Timothy Crosley - Hug 作者

老实说,你的作品看起来非常可靠和优美。在很多方面,这就是我想让 Hug 成为的样子 - 看到有人实现了它真的很鼓舞人心。

Ines Montani - Matthew Honnibal - Explosion AI 创始人 - spaCy 作者

如果你正打算学习一个现代框架用来构建 REST API,来看下 FastAPI 它快速、易用且易于学习

我们已经将 API 服务切换到了 FastAPI  我认为你会喜欢它的

看了大佬们的评价,您有心动吗?

快速开始安装依赖包pip install fastapi

pip install "uvicorn[standard]"

完成一个Demo

创建一个main.py文件,并敲入那神奇的代码(建议一个一个字符敲出来,体验见证神奇的过程,它是那么的美妙!)

from typing import Union

from fastapi import FastAPI

app = FastAPI()

@app.get("/")

def read_root():

    return {"Hello": "World"}

@app.get("/items/{item_id}")

def read_item(item_id: int, q: Union[str, None] = None):

    return {"item_id": item_id, "q": q}

运行

在终端输入以下命令启动服务:

uvicorn main:app --reload

需要注意的是,启动命令需要在main.py文件目录下启动。

启动后效果如下图

FastAPI启动访问

打开浏览器,在地址栏输入http://127.0.0.1:8000,当您看到{"Hello": "World"},说明您已经完成了一个Web服务。

到此,您心动了吗?

如果心动了,不妨花5分钟时间体验一下吧。

进阶

本文为您提供了一个最简单的Demo,如果在您的工作或者学习中想要进一步学习FastAPI并用于复杂的任务场景,推荐您阅读官方文档。

关注我,回复:FastAPI,获取官方文档地址。

关注我,学习开源技术。

声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    已认证
    飞桨PPDB

    大数据领域优质创作者...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码