Python 开发基础:环境、金额与 AI 编程|课后复习

课堂课件 · 课前原始判断 · 本周导学

今天学会了什么

能从自己的项目目录运行金额计算器,说明解释器、输入类型和金额单位;能读一次报错、检查一次 AI 修改,并用新输入复验。

Python 源码到执行结果的路径|700

对着这张图,说出源码、终端、解释器、操作系统各自在干什么;再把你自己的当前目录、Python 版本和 sys.executable 的输出,一个个对到图里的位置上。

今天讲了什么(对照复习)

下面逐项对应课堂正文。先盖住右边那一栏,凭记忆回答;卡住了再翻回左边同名的小节。光说得出名字不算会,还要能讲清它会做什么、什么时候会失效。

课堂对应章节必须能解释的机制与边界
一段 Python 代码在电脑里怎样跑起来;运行方式补充:编译型语言和解释型语言源码是文本,终端启动解释器;CPython 会生成字节码再执行,解释型不等于没有编译。Python 的生态适合应用开发,选型仍要看性能、团队与环境。
检查并安装 Python 3.12 与 TRAE Code CN;项目目录与 venv编辑器、Python、Git 分别验收。PATH 决定命令搜索,安装后重开终端;用 sys.executable 确认实际解释器。相对路径从当前目录解释;venv 隔离项目依赖,.venv 不入 Git。
变量、赋值和命名;四种基础类型与 Decimal 金额顺序执行,先算右侧再赋值;赋值让名称指向值,改变数量不会自动重算旧金额;注释不执行;str/int/float/bool 表达不同含义,文本重复与数值乘法不同。名称写清业务和单位,例如 unit_price_yuan。金额从原始字符串创建 Decimal,不能先经 float;Decimal 仍有精度和舍入规则。
输出、字符串与 f-stringf-string 将表达式结果嵌入文本,.2f 控制两位小数展示,不修复来源误差;输出需同时说明商品、数量和元金额。字符串清理不能代替业务校验;输出常量即使碰巧正确也不代表计算正确。
input、类型转换与失败边界input 得到 str,int 转换可能抛 ValueError;能不能转成数字,和这个数字业务上合不合法,是两回事。不要用 eval 执行用户输入。今天先读懂转换失败,D02 再处理异常分支。
常用算术运算;今天项目:电商商品金额计算器识别 +、-、*、/、//、%、**;整数的 / 得到浮点结果,// 向下取整。今天的主公式是 Decimal 单价×整数数量,计算值与最终显示都要检查。
把 Traceback 当作定位线索先读末行错误类型,再找项目文件和行号;SyntaxError 看语法、NameError 看名称、TypeError 看操作类型、ValueError 看具体值。提出一个原因假设,只改一处,再复跑原输入和变式。
Git 保存可比较的起点Git 里有三块地方:工作区、暂存区、提交。add 只暂存当时内容,commit 不等于上传;status 看状态,diff 看未暂存修改,diff —staged 看待提交内容,log 找版本。首次未跟踪文件需直接阅读。
AI 编程闭环先给目标、允许修改的文件、禁止改动的业务规则和验收条件;再读候选与 diff、预测结果、运行正常和变化输入,最后决定接受。能运行之后,还要能指出输入、公式和输出各在哪里,并解释为何接受这些修改。

出了问题:怎么发现、怎么修、怎么验证

只在你自己那份课程副本或专用实验数据上复验,把改之前和改之后的真实结果都留下来。

风险/现象提前预防怎样发现怎样处理怎样复验
解释器或目录选错运行前检查目录、版本和解释器路径保留找不到命令/文件的原始输出修正 PATH、项目目录或 TRAE 解释器后重开终端同一文件在当前项目 venv 运行,记录真实路径
float 金额或输出写死金额从字符串构造,输出引用变量手算后改变数量,核对数值和最后一行文字恢复 Decimal 链路和动态格式化原数量与另一数量都与手算一致
输入为 0、负数却仍计算先约定数量须为正整数对照能转换与业务是否合法D01 记录缺口,D02 补判断和异常处理D02 用同组输入检查拒绝行为,D01 不标记已修复
程序错误被整段重写掩盖先保存基线和完整 Traceback指出错误类型、首个相关项目行和差异只修原因所在的一处原失败输入恢复,再用新输入检查
AI 修改越界或提交漏改限定文件并检查 status、两种 diff对比金额类型、公式、暂存内容撤回越界候选,补入确需提交的修改重新运行后核对提交内容和 log

闭卷自测

先自己答一遍,再去运行或翻回课堂核对;不确定的地方标出来,别用 AI 的答案顶掉你自己的第一次判断。

  1. 解释 python 命令、TRAE 和 .py 文件各做什么;电脑有两个 Python 时用什么证据确认本次执行者?
  2. 为什么 Decimal(“0.1”) 与 Decimal(0.1) 不等价?把数量从 2 改成 3,应该检查哪些最终输出?
  3. input 得到的 “2”、整数 2、布尔 True 有何差别?举出一种程序未报错但业务结果错误的情况。
  4. 分别说出 SyntaxError、NameError、TypeError、ValueError 的定位起点;选一次你自己遇到的报错重讲修复过程。
  5. git add 之后又编辑文件,commit 会包含哪一版?AI 只改输出时,你会拒绝什么样的 diff?

再看一眼真实业务

对照预习的真实商品页记录,指出自己的输出缺不缺币种、数量、规格或金额说明。平台优惠和运费不能凭空加进今天的公式;记录业务观察与课程简化的区别。

今天留下什么,下节课怎么接着用

对照任务书 A—G,保留金额计算器、环境检查输出、正常与变化输入的手算对照、转换失败原始错误、0/负数缺口、一次 NameError 修复、AI diff 和 Git 提交。W01-D02 从这份可运行脚本继续做条件、异常和批量处理。

课内最后一段完成提交和待补项登记;课后可选回看,不新增必做编码。