Cytrogen 的个人博客

万圣节恶魔的领地

马上订阅 Cytrogen 的个人博客 RSS 更新: https://cytrogen.icu/atom.xml

IBM 全栈开发【8】:用于人工智能和开发项目的 Python

2024年5月20日 06:49

近期在学习 IBM 全栈应用开发微学士课程,故此记录学习笔记。

1. Python 编码实践和打包概念

1.1. 开发生命周期

应用程序开发生命周期分为七个阶段,包括:

  • 收集需求: 收集应用程序的用户、业务和技术需求。
  • 分析: 分析需求。
  • 设计: 设计完整的解决方案。
  • 编码和测试: 构建和测试应用程序的不同组件。
  • 用户和系统测试: 用户测试应用程序的可用性,进行系统集成测试和性能测试。
  • 生产: 应用程序可供所有最终用户使用。
  • 维护: 升级或修复任何用户或系统问题。

1.2. PEP8

PEP8 关于代码可读性的指导原则包括以下内容:

  • 缩进四个空格。
  • 空行用于分隔函数和类。
  • 操作符周围和逗号后的空格。

PEP8 的编码规范具有一致性和可管理性,其中包括:

  • 在函数内添加较大的代码块。
  • 使用带下划线的小写字母命名函数和文件。
  • 使用驼峰大写为类命名。
  • 用大写字母命名常量,单词之间用下划线分隔。

1.3. 单元测试

单元测试是一种验证代码单元是否按设计运行的方法。在与最终代码库集成之前,必须测试每个单元。

1.3.1. 例子

def add(a,b):    return a + bdef substract(a,b):    return a - b
import unittestfrom math import add, substractclass TestMain(unittest.TestCase):    def test_add(self):        self.assertEqual(add(6,4),10)        def test_substract(self):        self.assertEqual(substract(6,4),3)

1.4. 创建包

  1. 以软件包名称创建文件夹。
  2. 创建一个空的 __init__.py 文件。
  3. 创建所需的模块。
  4. __init__.py 文件中,添加代码以引用软件包中需要的模块。

可以在 Python shell 中通过 bash 终端验证软件包。

1.5. 其他

关于网络应用程序,以下两种说法是正确的:

所有网络应用程序都是 API。

网络应用支持 CRUD 操作。

在哪个测试阶段验证应用程序在更大框架内的功能?:

集成测试。

PyLint 是一款 Python 静态代码分析工具。

在为一个管理活动的应用程序收集需求时,客户提到项目的目标是提高客户保留率。
业务需求 描述了上述情况。

2. 使用 Flask 部署网络应用程序

2.1. Flask

Flask 是一个微型框架,只需最少的依赖即可运行。Flask 具有调试服务器、路由、模板和错误处理等功能,可用于构建网站。Flask 可以作为 python 软件包安装。与 Flask 相比,Django 是一个全栈框架。你可以通过实例化 Flask 类来创建服务器。

Flask 为每次客户端调用提供一个请求和一个响应对象。可以从 Flask 请求中获取更多信息,如标题。您可以解析请求对象,获取查询参数、正文和其他参数。您甚至可以在将响应发送回客户端之前,在响应对象上设置状态。

可以使用动态路由创建 RESTful 端点。

HTTP 状态代码有多种类型,分别显示成功、用户错误或服务器错误。Flask 在响应时会隐式返回成功代码 200。您也可以明确提供状态代码。Flask 还提供应用程序级的错误处理程序。

Flask 支持 CRUD。

可以使用 Flask 渲染静态和动态模板。

2.1.1. 代码案例

实例化 Flask:

from flask import Flaskapp = Flask(__name__)

@app.route 装饰器:

@app.route('/')def hello_world():    return "<b>My first Flask application in action!</b>"

400 错误:

@app.route('/')def search_response():    query = request.args.get('q')    if not query:        return {"error_message": "Input parameter missing"}, 422    resource = fetch_from_database(query)    if resource:        return {"message": resource}    else:        return {"error_message": "Resource not found"}, 404

3. 使用 Flask 创建人工智能应用并进行部署

Watson NLP 库被嵌入到实验网页中,外部工具无法访问。

3.1. 项目概述

在这个同行评分的毕业设计中,你将扮演一名软件工程师,需要开发一款基于人工智能的网络应用程序。您将分析情景并执行以下任务:

  1. 克隆项目资源库。
  2. 使用 Watson NLP 库创建一个情绪检测应用程序。...

剩余内容已隐藏

查看完整文章以阅读更多