您的位置:首页 > 文旅 > 美景 > 品牌名称_乐清日报电子版今天_2022网站快速收录技术_关键词优化排名要多少钱

品牌名称_乐清日报电子版今天_2022网站快速收录技术_关键词优化排名要多少钱

2025/4/16 11:16:12 来源:https://blog.csdn.net/u013565133/article/details/147040449  浏览:    关键词:品牌名称_乐清日报电子版今天_2022网站快速收录技术_关键词优化排名要多少钱
品牌名称_乐清日报电子版今天_2022网站快速收录技术_关键词优化排名要多少钱

这是两个 Python Web 框架:FlaskFastAPI。虽然它们都用于构建 Web 应用(特别是 REST API),但它们之间在设计理念、性能、功能支持等方面有明显的区别。

app = Flask(__name__)app = FastAPI() 各自的含义、联系与区别。**


🔹一、app = Flask(__name__) 是什么意思?

这是 Flask 中创建一个 Web 应用的标准写法:

from flask import Flaskapp = Flask(__name__)

含义解释:

  • Flask 是一个类,用来创建 Flask 应用实例。
  • __name__ 是一个 Python 内置变量,表示当前模块的名字。
    • 如果你直接运行这个脚本,__name__ == '__main__'
    • 如果这个文件被另一个模块导入,__name__ 就是这个模块的名字。
  • Flask(__name__) 会根据传入的模块名来确定应用的根路径,从而帮助定位静态文件、模板文件等。

🔹二、app = FastAPI() 是什么意思?

这是 FastAPI 框架中创建应用实例的写法:

from fastapi import FastAPIapp = FastAPI()

含义解释:

  • FastAPI 是 FastAPI 框架中的核心类,用于创建 Web 应用。
  • 它不需要传入 __name__,因为 FastAPI 默认不依赖这个来确定根路径(不像 Flask 依赖 __name__ 来定位 templates/static/ 目录)。

🔹三、二者的联系

项目FlaskFastAPI
同类产品✅ 都是 Python Web 框架
应用定义方式app = Flask(__name__)app = FastAPI()
路由机制使用 @app.route() 装饰器注册视图函数使用 @app.get()@app.post()
用途轻量级 API、网页、表单处理等高性能 REST API、现代后端服务
WSGI/ASGI基于 WSGI(同步)基于 ASGI(支持异步)

🔹四、二者的主要区别(通俗+举例)

维度FlaskFastAPI
🚀 性能较慢(同步)更快(异步,基于 Starlette 和 Pydantic)
异步支持原生不支持 async/await(需额外库)原生支持 async/await
📃 自动文档❌ 无自动文档(需手动集成 Swagger)✅ 自动生成 Swagger 和 ReDoc 文档
🧾 类型检查❌ 不支持自动类型检查✅ 支持 Python 类型注解,自动校验请求/响应
📦 依赖注入❌ 不支持✅ 内置支持
🧪 开发体验较传统更现代、自动提示强、IDE 支持好
🧱 数据验证手动写校验逻辑自动使用 pydantic 校验数据
💬 举例说明传统建表单网页或小型 API构建高性能、结构清晰的大型 API 项目

✅ 举个例子(定义一个 /hello 接口):

Flask:
from flask import Flaskapp = Flask(__name__)@app.route("/hello")
def hello():return "Hello from Flask!"
FastAPI:
from fastapi import FastAPIapp = FastAPI()@app.get("/hello")
def hello():return {"message": "Hello from FastAPI!"}

📌 FastAPI 自动生成接口文档:
访问 http://127.0.0.1:8000/docs 就能看到 Swagger UI!


🔹五、总结一句话区别

  • Flask 是一个经典的、轻量的 Web 框架,更适合构建传统网站或小型 API。
  • FastAPI 是一个现代化的高性能 API 框架,更适合构建大型、异步、高并发的服务,尤其适合人工智能、微服务等应用场景。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com