📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
一、高频应用
1. 认识FastAPI
1)FastAPI介绍
- 定义: FastAPI是一个用于构建API的现代、快速(高性能)的web框架。
- 特点: 使用Python 3.6+的类型提示,并基于标准的Python ASGI工具包。
- 性能: 高性能,易于学习,快速编码,生产可用。
- 测试覆盖率: 测试通过,覆盖率100%。
2)Python ASGI工具包
- 定义: ASGI(Asynchronous Server Gateway Interface)工具包是一种用于构建异步Web服务器的标准接口。
- 作用: 允许异步和基于事件的系统之间的通信,将Web服务器与应用程序之间的通信转换为异步通信,提高应用程序的性能和响应速度。
-
常用服务器与框架:
- Hypercorn: ASGI服务器和WSGI HTTP服务器,支持HTTP/2和WebSocket,具有自动重试、请求超时、连接超时、日志记录等功能。
- Uvicorn: ASGI服务器,支持HTTP/2和WebSocket,具有自动重试、请求超时、连接超时、日志记录等功能。
- Sanic: Python Web框架,支持异步请求处理和WebSocket,具有路由、中间件、ORM等功能。
- Starlette: ASGI服务器和WSGI HTTP服务器,支持HTTP/2和WebSocket,具有中间件、路由、异常处理等功能。
3)FastAPI的特点
- 快速: 性能极高,可与NodeJS和Go等语言相媲美,是Python框架中最快之一。
- 高效编码: 提高开发功能的速度约200%至300%,同时减少人为错误。
- 简单: 易于使用和学习,设计直观,帮助开发人员快速上手。
- 标准化: 完全兼容API的开放标准OpenAPI和JSON Schema。
- 强大的编辑器支持: 帮助开发人员更快地进行调试,处处皆可自动补全,减少调试时间。
- 自动生成的交互式文档: 使开发人员更容易理解其API。
- 代码简洁: 帮助开发人员减少代码重复,提高代码质量。
- 更少的bug: 帮助开发人员减少大约40%的人为错误,提高代码质量和稳定性。
- 生产可用级别的代码: 注重代码的质量和稳定性,具有生产可用级别的代码。
2. 如何使用FastAPI
1)安装fastapi
pip install fastapi
- 依赖包: 安装fastapi时,会自动安装其依赖包,如pydantic、starlette等。
2)对于生产环境
pip install "uvicorn[standard]"
- ASGI服务器: 对于生产环境,需要安装一个ASGI服务器,如Uvicorn或Hypercorn。
- 安装Uvicorn: 执行命令pip install "uvicorn[standard]"来安装Uvicorn的标准版本。
- 依赖包: 安装Uvicorn时,也会安装其依赖包,如click、h11、uvloop等。
3)新建一个main.py文件,写一个简单的案例
- 文件创建: 新建一个名为main.py的文件。
- 导入FastAPI: 在文件中导入FastAPI类。
- 创建API实例: 创建一个FastAPI的实例,通常命名为app。
- 定义路由: 使用 @app.get("/") 装饰器定义一个根路由,该路由对应的处理函数是异步函数root,返回一个包含"Hello World"消息的JSON对象。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
运行:
uvicorn main:app --reload
运行
4)交互式文档
- 访问方式: 启动服务后,可以通过访问 http://127.0.0.1:8000/docs 来查看交互式文档。
- 文档内容: 交互式文档提供了API的详细信息,包括请求方法、路径、参数、响应等。
- 测试功能: 交互式文档还提供了测试功能,可以直接在文档页面发送请求并查看响应。
交互式文档
5)API文档
- 访问方式: 可以通过访问 http://127.0.0.1:8000/redoc 来查看API文档。
- 文档内容: API文档以更结构化的方式展示了API的信息,包括请求、响应、参数等。
- 标准化: API文档是标准化的,方便开发者理解和使用API。
- 日志记录: 在运行过程中,Uvicorn会记录相关日志,包括服务器启动、关闭、代码更改等信息。
- 代码更改自动重载: 使用--reload参数启动服务时,代码更改后服务器会自动重载,方便开发过程中的调试。
API文档
3. FastAPI进阶应用
- 结合OpenAI的GPT模型提供自然语言处理服务。
-
实现步骤:
- 创建API接口: 使用FastAPI创建一个接口,接收用户输入的文本。
- 文本处理: 将用户输入的文本发送给OpenAI的GPT模型进行处理。
- 返回结果: 解析GPT模型返回的结果并返回给用户。
- 案例: 构建一个聊天机器人API,接收用户输入的文本,通过GPT模型处理并返回结果。
4.小结
1)总结
- FastAPI概述: FastAPI是一个现代、快速(高性能)的Python web框架,用于构建API。
- 特点: 具有简洁性、高效性和友好界面等特点,广泛用于电子商务、旅游预订和社交媒体等场景。
- 实现原理: 包括代码架构、请求流程和响应机制等方面,具有高效的性能和简洁的代码风格。
- 学习曲线与文档: 需要一定的学习曲线,但有完善的文档辅助。
-
未来发展方向:
- 更加智能化: 结合人工智能技术,实现自动化的数据处理、异常处理和安全防护等功能。
- 更加灵活: 进一步扩展路由匹配、依赖注入等机制,使开发人员能更灵活地构建API接口。
- 更加安全: 加强安全防护机制,包括HTTPS支持、访问控制、身份验证等方面。
2)如何使用FastAPI
- 启动服务器
- 安装Uvicorn
-
编写简单案例
- 代码示例:
- 解释: 创建一个简单的API,当访问根路径时,返回 {"message": "Hello World"}。
- 运行效果
3)注意事项
- 安装重要性: 在使用FastAPI前,必须安装相关依赖,如Uvicorn,否则无法启动服务器。
二、知识小结
知识点 | 核心内容 | 重点/易混淆点 | 难度系数 |
---|---|---|---|
Fast API介绍 | Fast API是用于构建API的现代、高性能框架 | Fast API与Flask、Django等框架的区别 | 中 |
Fast API特点 | 高性能、高效编码、简单易学、标准化、强大编辑器支持等 | Fast API性能优势的具体体现 | 中 |
ASGI工具包 | 用于构建异步WEB服务器的标准接口 | ASGI与WSGI的区别及优势 | 高 |
常用服务器 | UVicorn、Hypercorn等 | 各服务器的特性及适用场景 | 中 |
安装与配置 | Fast API及服务器的安装命令 | 环境配置中的常见问题 | 低 |
路由与请求处理 | Fast API中路由的定义及请求处理方法 | 异步请求处理的理解 | 中 |
交互式文档与API文档 | Fast API自动生成的文档及其使用 | 文档在开发过程中的重要性 | 低 |
案例实践 | 构建聊天机器人API接口 | Fast API与OpenAI GPT模型结合的应用实例 | 高 |
未来发展方向 | Fast API可能的智能化、灵活化、安全化趋势 | 技术发展趋势的预测准确性 | 中 |
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】