网易首页 > 网易号 > 正文 申请入驻

人工智能通识课:Python 编程风格与语法基础(辅助篇)

0
分享至

掌握基本语法后,还需要理解一些容易混淆的程序行为:为什么代码尚未执行就报错,为什么复制数据后原记录也发生变化,为什么同一段程序换个环境便找不到文件?通过对照实例分析这些现象,可以加深对执行过程、数据表示和对象关系的理解。

一、Python 与程序运行

1.1 语法检查与运行时错误

语法检查与实际执行发生在不同阶段。直接运行普通源文件时,文件自身的语法错误通常会阻止该文件开始执行;运行时错误则可能在前面的语句已经产生结果后出现。

交互解释器按提交的代码单元处理输入。前面已经执行的操作,不会因为后续输入出现语法错误而自动撤销。判断错误影响范围时,应结合代码的提交和运行方式。

1.2 字节码与操作观察

常见的 CPython 实现会将源代码编译为字节码,再执行相应操作。标准库 dis 提供反汇编功能,可以观察源代码与字节码之间的对应关系。

这一内容可以在学习函数定义后选学,重点理解数据读取、计算和结果返回之间的联系,无须背诵具体指令。

字节码属于具体实现的细节。解释程序功能时,仍应以源代码的语言规则和实际执行结果为依据。

1.3 Notebook 的运行状态

Jupyter Notebook 的代码单元共享内核(Kernel)中的运行状态。变量是否存在、当前保存什么值,取决于已经执行过的代码,而不只取决于页面当前显示的内容。

删除单元中的赋值语句,也不会自动删除此前创建的变量。核验完整结果时,应重启内核并按顺序运行全部单元,确认结果能够由当前代码重新得到。

二、Python 代码组成与编程风格

2.1 名称是否已经建立

名称能否使用,取决于当前执行过程中是否已经建立相应绑定。某个赋值语句即使出现在源代码中,也可能因为所在分支未被执行而没有产生作用。

阅读条件结构时,除了检查哪些语句会执行,还应检查后续使用的名称是否在所有相关路径中都有定义。函数中的名称查找与作用域规则将在后续展开。

2.2 赋值目标与求值顺序

解包赋值会先计算右侧表达式,再按位置将各个元素赋给左侧目标。这一顺序可以用于交换值,也能解释为什么某些连续赋值会得到不同结果。

增强赋值会结合对象类型完成更新。对于可变对象,它可能直接修改原对象,因此不能把所有增强赋值都简单视为创建新对象。

print(scores is backup)  # False

2.3 文档字符串的位置与读取

文档字符串(Docstring)需要位于模块、类或函数主体的第一条语句位置,才能成为相应对象的文档。三引号也可以用于普通文本,作用取决于所在位置。

注释和文档字符串需要随程序修改同步更新。检查大模型生成的代码时,应将说明与实际条件、计算范围及返回结果对应起来,避免仅根据注释判断程序行为。

三、基本数据类型与运算

3.1 相对容差与绝对容差

常见 Python 实现中的浮点数采用有限精度的二进制表示,许多十进制小数只能近似存储。因此,计算结果可能存在微小偏差,判断数值是否足够接近时,需要结合任务允许的误差。

近似比较需要根据任务要求设定容差。相对容差衡量差异相对于数值大小的比例,绝对容差限定固定差值,尤其适合比较接近零的结果。

容差应结合数据单位、测量精度和允许误差确定。容差过宽可能接受不合理偏差,过窄则可能将正常的计算误差判断为失败。

3.2 十进制表示与计算精度

需要按照十进制规则表示和计算时,可以使用十进制数类型 Decimal。从字符串构造数值,可以避免先经过二进制浮点近似。

十进制计算也受到有效数字精度和舍入规则约束,并非所有运算都能得到精确结果。

    

整数、浮点数与十进制数各有适用条件。选择类型之前,应明确数据含义、计算方式与精度要求。

3.3 反向切片与默认边界

反向切片需要同时考虑起点、终点和步长。步长为负时,访问位置逐步减小,终点仍不包含在结果中。

省略终点与显式填写负索引可能得到不同结果。省略终点会采用适合反向遍历的默认边界;显式负索引则按照序列长度解释。

切片通常会将越界范围限制在有效区间内。因此,切片成功不能证明输入长度满足任务要求。

print(len(student_id) == 3)  # False,不符合三位编号约定

3.4 默认值与缺失判断

使用逻辑或设置默认值,会替换所有表现为假的输入。若合法数据也可能为零或空容器,就需要使用更明确的缺失规则。

    

字典默认值还需要区分“键不存在”和“键存在但内容为空”。

print(record["成绩"] is not None)  # False,内容尚未提供

3.5 统计对象与比较边界

计算结果的含义取决于统计对象。三名学生的成绩形成群体均值,一名学生的三科成绩形成个人总分与科目均分,解释时需要保留这种区别。

“高于”与“不低于”对应不同边界。选择恰好等于阈值的样例,可以检查比较规则是否被正确表达。

四、组合数据类型与对象引用

4.1 嵌套容器的复制范围

浅复制(Shallow Copy)创建新的外层容器,但内部对象仍可能共享。对于嵌套数据,需要分别检查修改发生在哪一层。


图 4-1:嵌套容器中的共享引用

内容相等不能证明对象相同,外层对象不同也不能证明内部数据完全独立。阅读复制操作时,应沿引用关系逐层检查。

4.2 深复制与局部复制

深复制(Deep Copy)会递归复制此类嵌套容器,使内部数据可以独立变化。

如果只有部分数据需要修改,也可以只复制相应的内部容器,明确隔离范围。

复制方式应结合对象类型、修改范围和资源成本选择。文件、连接等资源具有额外状态,不能简单理解为普通容器中的可复制数据。

4.3 序列重复与内部共享

序列重复操作会重复元素引用。如果元素本身是可变对象,多个位置可能引用同一个内部容器。

发现多处数据同时变化时,可以先检查它们是否引用同一个可变对象。对象共享关系取决于构造和赋值过程,不能仅凭显示内容判断。

五、模块与项目环境

5.1 安装信息与加载位置

分发包(Distribution Package)是安装工具管理的软件单元,模块是导入系统加载代码的单位。一个分发包可以提供多个模块,安装名与导入名也可能不同。

排查导入问题时,应结合解释器位置、安装信息和模块加载位置进行判断。

本地同名文件可能干扰模块查找。确认导入成功后,还应检查加载的是否为预期模块。

5.2 工作目录与脚本目录

相对路径通常以当前工作目录为参照。脚本保存在某个文件夹,并不意味着程序也从该文件夹启动。

当材料与脚本一起组织时,可以根据脚本位置构造路径,明确它们之间的位置关系。

从不同目录启动同一脚本,可以观察路径参照的差别。文件找不到时,应先确认程序实际查找的位置,再检查材料是否存在。

5.3 模块发现与导入验证

模块能够被找到、能够被导入,以及能够完成所需操作,是三个不同层次的检查。

不同开发工具得到不同结果时,可以对照解释器、工作目录和模块位置。这些信息有助于区分环境选择错误、文件命名冲突和依赖缺失。

六、大模型代码的阅读与应用

6.1 完整任务与独立预期

单条登记信息预览可以将文本清理、类型转换、容器组织和输出格式连接起来。先使用程序内的虚构材料,便于独立核对处理结果。

可以向大模型提出以下请求:

请使用 Python 编写一个登记信息整理与成绩预览程序。输入直接写在程序中:学号为 "001",姓名为 " 张三 ",数学、英语和物理成绩分别为 "85"、"90"、"88",来源文件名为 "登记表01.docx"。

学号保留为文本,姓名清除两端空白,原始记录保持不变。三科成绩转换为整数,计算总分和平均分,并按学号、姓名、数学、英语、物理、总分、均分、来源文件的顺序显示,均分保留一位小数。

仅使用 Python 内置功能,在注释中说明关键步骤和输入前提。当前假定姓名清理后非空,成绩均为零到一百的合法整数字符串。不读取、写入或覆盖文件。

运行前,先手工确定预期:学号保持为“001”,姓名整理为“张三”,总分为 263,均分显示为 87.7。来源文件名作为记录中的标识保留,不表示程序实际读取了该文件。

6.2 完整实现与数据追踪

下面的实现将原始输入与整理结果分别保存,便于对照。阅读时重点追踪类型变化、统计范围和字段对应关系。

核验时,除了总分与均分,还应检查学号前导零、姓名清理、来源标识和输出列序。列数相等只说明数量匹配,还需要确认每个值与表头含义对应。

6.3 修改范围与关联结果

先只将物理成绩从 "88" 改为 "80"。预期总分减少 8,变为 255,均分显示为 85.0;学号、姓名和来源应保持不变。

增加字段时,应先判断它是否参与计算。增加籍贯主要影响数据保存和输出;增加一门课程还会改变统计范围。

只修改显示文字,或只增加表头,都可能留下未同步更新的处理步骤。修改后应同时核对新增结果与需要保留的行为。

6.4 输入变化与失败阶段

边界练习应将输入变化与处理阶段对应起来。类型转换、业务范围和内容完整性需要分别检查。

前面的完整程序尚未自动检查成绩范围。将成绩改为 "120" 时,它仍会计算;改为空文本时,则会在整数转换阶段报错。解释清楚失败位置,才能提出有针对性的修订要求。

6.5 反馈修订与回归检查

可以将发现的问题转化为具体反馈:

将物理成绩改为 "120" 后,程序仍计算并显示了总分。成绩应在零到一百之间,预期应指出无效字段,并停止生成该条成绩结果。请补充检查,保留原始记录和学号前导零,并在注释中说明修改位置。

修订后重新检查原有功能,称为回归测试(Regression Testing)。拒绝 120 分之后,还应确认 0 分和 100 分仍被接受,正常输入的总分、均分和输出顺序保持正确。

保留修改目的、测试输入、预期行为、实际结果与未覆盖情况,可以为后续检查提供依据。完整的分支、异常处理和函数封装将在后续展开,这里先建立输入变化与程序结果之间的可检查联系。

小结

执行状态、求值顺序、数值精度与嵌套引用,会影响程序的实际行为。结合环境诊断、完整案例和修改对照,可以追踪问题来源,并通过独立预期、边界样例与回归检查核验修订结果。

“点赞有美意,赞赏是鼓励”

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
巴黎主席纳赛尔探望术后克瓦拉茨赫利亚,球员即将开始康复

巴黎主席纳赛尔探望术后克瓦拉茨赫利亚,球员即将开始康复

懂球帝
2026-10-29 03:31:37
山口百惠,该出手了

山口百惠,该出手了

我来我看见
2026-10-28 20:57:33
心梗与缺钾有关?医生:常吃牛奶鸡蛋,不如多吃这几物给心脏减负

心梗与缺钾有关?医生:常吃牛奶鸡蛋,不如多吃这几物给心脏减负

健康科普365
2026-10-28 19:25:09
价格大跌超50%!一度遭疯抢,黄金平替熄火,网友:赚了赶紧跑

价格大跌超50%!一度遭疯抢,黄金平替熄火,网友:赚了赶紧跑

21世纪经济报道
2026-10-28 23:51:25
正式退出!杨瀚森遗憾,开拓者官宣,赛季首次,名单公布,郭士强看懂

正式退出!杨瀚森遗憾,开拓者官宣,赛季首次,名单公布,郭士强看懂

喜欢体育的猫
2026-10-29 08:43:41
骑士121-111逆转奇才 球员评价:4人优秀,6人及格

骑士121-111逆转奇才 球员评价:4人优秀,6人及格

篮球资讯达人
2026-10-29 09:45:07
年少不知内存好!32GB DDR5内存两年疯涨14倍:从780元直接破万

年少不知内存好!32GB DDR5内存两年疯涨14倍:从780元直接破万

快科技
2026-10-29 10:13:03
央视八套今日放大招!早中晚三部大剧接力,剧荒救星来了

央视八套今日放大招!早中晚三部大剧接力,剧荒救星来了

乡野小珥
2026-10-29 10:44:24
美媒:特朗普承认万斯曾致信伊朗官员,称主要是为向伊方提供医疗物资

美媒:特朗普承认万斯曾致信伊朗官员,称主要是为向伊方提供医疗物资

环球网资讯
2026-10-29 08:26:21
今天才知道,这6种蔬菜最适合冷冻,冻1年不坏,营养还不流失

今天才知道,这6种蔬菜最适合冷冻,冻1年不坏,营养还不流失

阿龙美食记
2026-10-27 14:31:50
央视出手!姆巴佩再迎噩耗,解约仅是开胃菜,或将面临巨额赔偿

央视出手!姆巴佩再迎噩耗,解约仅是开胃菜,或将面临巨额赔偿

青梅侃史啊
2026-10-28 07:13:48
西藏发布会为遇难者默哀,现场全体起立,悼念遇难同胞;此次地震震级高、震源浅,震区平均海拔接近4800米

西藏发布会为遇难者默哀,现场全体起立,悼念遇难同胞;此次地震震级高、震源浅,震区平均海拔接近4800米

每日经济新闻
2026-10-28 21:53:41
学历贬值,日本的剧本已经演完了,我们几乎在逐页重演

学历贬值,日本的剧本已经演完了,我们几乎在逐页重演

起点人文
2026-10-15 13:07:03
比米饭还升糖的5种蔬菜,晚上尽量少吃,很多人天天当减肥菜吃。

比米饭还升糖的5种蔬菜,晚上尽量少吃,很多人天天当减肥菜吃。

鬼菜生活
2026-10-28 19:02:45
杨兰兰案今天开庭,她有钱、有车、有房,就是查不到她是谁

杨兰兰案今天开庭,她有钱、有车、有房,就是查不到她是谁

陈鹰
2026-10-29 08:39:23
易建联为妻儿建的洛杉矶豪宅烧成灰,如今2000平空地估价曝光,数字让人意外,中介爆出实情

易建联为妻儿建的洛杉矶豪宅烧成灰,如今2000平空地估价曝光,数字让人意外,中介爆出实情

LULU生活家
2026-08-31 15:33:38
20岁黄多多首秀翻车,可能黄磊孙莉也没想到,星二代如今不好混了

20岁黄多多首秀翻车,可能黄磊孙莉也没想到,星二代如今不好混了

嫹笔牂牂
2026-10-26 07:12:22
我国越来越多的人患脑梗?建议:停止食用“5物”,保护大脑

我国越来越多的人患脑梗?建议:停止食用“5物”,保护大脑

小杨说事情
2026-10-29 12:05:08
降温后发现,这3种“大妈色”尽量别穿了,显老土气,油腻感十足

降温后发现,这3种“大妈色”尽量别穿了,显老土气,油腻感十足

时尚穿搭生活馆
2026-10-27 23:20:29
我国将被淘汰的四样电器,千万别买了,尤其第2个,你家可能就有

我国将被淘汰的四样电器,千万别买了,尤其第2个,你家可能就有

辉哥说动漫
2026-10-28 16:07:20
2026-10-29 13:43:00
MediaTea
MediaTea
专业的数字媒体、新媒体技术
2259文章数 85关注度
往期回顾 全部

科技要闻

MacBook终于能触屏了:22999元起

头条要闻

泽连斯基:我们愿进行任何形式谈判 乌不想失去美支持

头条要闻

泽连斯基:我们愿进行任何形式谈判 乌不想失去美支持

体育要闻

普通人徐嘉余的入口与出口

娱乐要闻

李嘉格自曝离婚内情:过错方净身出户

财经要闻

“对不起,我们不投具身智能了”

汽车要闻

首销期权益价23.98万起 2026款理想i6上市

态度原创

艺术
房产
时尚
数码
教育

艺术要闻

16岁开始打工,40岁拿影后,她早就该火了

房产要闻

12.1亿!三亚挂出重磅宅地!

柔情万种的针织裙,开叉的更显瘦!

数码要闻

2026年中国电视出货量预计创17年新低 同比下降7.7%

教育要闻

985新增6个博士点,2027年起招生

无障碍浏览 进入关怀版