双体软件精英产业学院 第31期 第四周学习博客
作者:赵彬宏 · 炽阳二部(AI二部)Book思议组 时间范围:2026.9.21 — 2026.9.27 发布平台:GitHub
本周学习收获
本周的节奏明显提上来了,从”处理数据”推进到”把代码打包成函数”,最后摸到了文件读写的门。整体可以分成三块:
-
元组、集合与类型转换(周一):这节课把几种容器摆在一起对比着讲,概念一下就清楚了——元组
tuple()只能查询和切片,不能改;集合set {}天生去重,往里丢重复元素它也只留一个;列表则是既能查又能改。类型转换这块很实用:set(列表)去重、list(集合)还原成列表、tuple(列表)与list(元组)互转,还有s.split(",")把字符串切成列表和"-".join(列表)把列表拼回字符串——这两个是处理”逗号分隔”这类数据的利器。 -
函数(周二):这是本周最大的收获。语法是
def 函数名(参数):加上缩进的函数体,调用时写函数名(实参)。三个要点:参数可以有默认值(def welcome(name, greeting="欢迎回家")),调用时不给就吃默认值;return和print是两回事——return是把结果交出去给调用方,print只是往屏幕上打一下;以及return a, b这样用逗号能一次返回多个值,Python 会自动打包成元组。 -
作用域与文件读写(周四):作用域这块搞清楚了局部变量和全局变量的区别,函数里想改全局变量得先写
global声明;还有个容易踩的点——列表、字典传进函数被改了,外面也跟着变,而数字、字符串传进去改了只影响函数内部。文件读写学到了with open(路径, 模式, encoding="utf-8") as f:这种写法,模式"r"读、"a"追加,配合f.read()、f.write()就能把数据存到磁盘上,不再是一关程序就没了。
练习方面这周量也不小:周一做了分数段统计、电影列表(列表套字典)、单词词频统计;周二一口气写了 is_even()、max_of_three()、count_char()、make_model()、calculate() 五个函数,还有按业绩算奖金(返回等级和奖金两个值);后面又补了一个简化版的会员管理系统,包含添加、查找、批量删除、统计、评级五个函数。
遇到的难题与困惑
-
return和print一开始分不清:课堂示例里的函数都是直接print出结果,但练习题要求”返回”,我就习惯性地在函数里print。后来才反应过来——函数只负责算出结果交出去,要不要显示由调用方决定,这样函数才能被反复复用。 -
批量删除时漏元素:写会员管理系统的
delete_member()时,最开始直接for m in members:遍历,命中就members.remove(m)。结果删掉一个之后列表长度变了,后面的人被跳过。改成遍历members[:]副本才解决——遍历副本、删原列表,就不会错位。 -
作用域”改不改动”的规律绕了挺久:同样是
a = a + 1,数字传进函数外面不变,列表传进去外面就变了。反复试了课堂那几个例子才明白,关键在于这个对象本身能不能被原地修改。 -
文件读取时光标的问题:
f.read()把内容读完之后再for i in f:循环,一行都读不出来——因为光标已经走到文件末尾了。这个坑踩了一次才记住,读过的文件要么一次性读完再用,要么重新打开。 -
集合打印出来的顺序是乱的:去重完直接打印,顺序跟输入的不一样。一开始以为是代码写错了,后来才知道集合本来就是无序的,要稳定的顺序得再转回列表或排序。
错题反思与总结
-
“能跑通”和”写得对”之间还有距离:这周几个练习第一版都能出结果,但像批量删除那种”看起来没问题、实际漏数据”的情况,只有自己构造重复数据去测才会暴露。以后写完得多造几组边界数据自测,特别是空列表、重复元素、除数为 0 这类情况。
-
函数这块练得还不够:定义、调用、返回值都懂了,但把一段重复代码”抽成函数”这个动作还不熟练,写综合案例时还是容易把逻辑堆在一起。打算把之前的练习题回头重构成函数版本,专门练这个手感。
-
代码细节依然随意:变量名中英混用、命名不统一,偶尔还留多余符号。虽然不影响运行,但回头看要愣一下。下周起码把命名和注释统一一下,让代码能”自己说话”。
-
文件读写这块只跑了课堂示例:周四的
with open()基本是跟着例子敲了一遍,配套的练习还空着没动。读写、追加、按分隔符解析这几步没有自己独立写过一遍,印象不深——数据能存进文件才算真正落地,这块下周必须补上。
下周学习计划
- 技术方面:把周四空着的文件读写练习补完(读、写、追加、按分隔符解析),再用函数把之前的练习题重构成模块化版本,最后拿一个综合案例把”函数 + 列表字典 + 文件存储”串起来跑通。
- 职场方面:继续练表达,在小组讨论中主动开口,把本周学的函数、作用域这两个点试着讲给别人听——能讲清楚才算真懂。
- 习惯方面:保持每次练习单独归档的习惯,写完就跑一遍边界数据自测,周日固定产出本周学习博客。
本博客为「双体学习笔记」系列,按周更新,欢迎在评论区交流指正。
本文同步自 Study-Note · 查看原文 ↗