新闻详情

新闻详情

首页 / 资讯中心 / 详情

Python 学习 · 第3周:数据类型转换、函数与文件操作

发布时间:2026/9/28 21:25:59来源:尧图网络
Python 学习 · 第3周:数据类型转换、函数与文件操作
一、本周学习收获1. 元组与集合两种新容器容器写法特点元组 tuple()只能查询和切片不能改列表 list[]能增删改查字典 dict{键: 值}按键取值集合 set{}不能重复、无序只能 in 查询集合最实用的场景就是去重还学会了用set.add()往集合里加元素。2. 数据类型转换这周练得最多的四个操作记住口诀就行# ① 列表去重先转集合再转回来s_city[合川,余总,余总,江北,江北,江北]lset(s_city)print(list(l))# ② 字符串 → 列表split(按什么切)s张三,李四,王五s_ls.split(,)# ③ 列表 → 字符串用什么.join(列表)s.join(s_l)# ④ 列表 ↔ 元组ttuple(s_l)dlist(t)一句话总结split 是拆join 是拼set 是去重。3. 函数本周的重头戏定义和调用defsay_hello(name):# def 函数名 (参数)print(f{name}欢迎光临)say_hello(李四)# 调用函数名(实参)参数的三种玩法# 位置参数顺序、数量一一对应introduce(18,李四)# 关键字参数指定名字传顺序随便show_model(year2022,name李四,kpi100)# 默认参数只能放在形参最后defwelcome(name,greeting欢迎回家):print(f{name},{greeting})返回值 return函数算完把结果交还给调用处。这周最重要的发现是——return 一执行函数立刻结束后面的代码不会再跑。我在calculate()里故意写了print(测试是否执行return后续语句)果然没打印眼见为实。作用域函数里定义的变量只在函数内有效想在函数里改全局变量必须写global声明。值传递 vs 引用传递这周最绕的点# int、float、bool、str → 值传递函数里改了外面不变# 列表、字典 → 引用传递函数里改了外面也跟着变heros[{name:张三,age:18}]defupdate_data(heros):forheroinheros:ifhero[name]张三:hero[age]hero[age]1update_data(heros)print(heros)# 张三的年龄真的变成 19 了4. 文件操作路径分两种绝对路径C:\Users\yuan\Desktop\test.txt前面加r防止\被当成转义符相对路径./表示当前目录../表示上级目录写项目时优先用它。三种模式记牢模式含义注意r只读文件不存在会报错w覆盖写文件不存在自动创建文件夹不存在会报错a追加写在末尾接着写不清空推荐 with 写法不用手动关文件heroes[后裔,鲁班,狄仁杰]withopen(./第二周/heroes.txt,a,encodingutf-8)asf:forheroinheroes:f.write(hero\n)# \n 是换行另外读文件有两个常用姿势f.read()一次读全部for i in f:一行一行读。二、本周练习精选练习 1统计单词出现次数类型转换 字典综合textapple banana apple cherry banana applestext.split( )word_dict{}forwordins:ifwordinword_dict.keys():word_dict[word]1else:word_dict[word]1fork,vinword_dict.items():print(k,v)# 找出次数最多的单词max_nummax(word_dict.values())fork,vinword_dict.items():ifvmax_num:print(k)思路先 split 拆成列表再用字典计数最后遍历找最大值。字典.get(键, 0)这种写法更简洁下周试试。练习 2业绩算奖金多返回值defcalculate(score,base100):ifscore9000:dj优秀jjscore*0.2baseelifscore8000:dj良好jjscore*0.15baseelifscore6000:dj及格jjscore*0.1baseelse:dj待提升jjbasereturn(dj,jj)# 一次返回两个值是个元组print(calculate(9544))第一次知道 return 可以直接返回一个元组一举两得。练习 3王者荣耀英雄管理系统本周大项目用while True做菜单循环每个英雄存成一个字典所有英雄放进列表实现新增 / 查询 / 修改 / 删除heroes[]whileTrue:print(1.新增\t2.查询\t3.修改\t4.删除\t0.退出)in_numinput(请输入对应数字进入系统)ifin_num0:breakelifin_num1:nameinput(请输入英雄名)dwinput(请输入英雄定位)hero{name:name,dw:dw,hp:,pp:,voices:}heroes.append(hero)elifin_num2:s_nameinput(请输入英雄名)forhinheroes:ifh[name]s_name:print(h)break# ……修改、删除同理把之前学的 while、for、字典、列表全串起来了跑通的那一刻很有成就感。不过这个程序里我藏了两个 bug见下面的反思。三、遇到的难题与困惑引用传递差点把我绕晕以前一直以为传进函数的都是复印件直到改了 heros 列表外面的数据跟着变了才明白容器类型传的是原件。现在还不太敢用怕误改数据。管理系统的查询功能一开始死活查不到后来发现input(请输入英雄名)忘了用变量接收用户输入的名字根本没存下来后面if h[name] in_num一直在拿菜单编号比英雄名当然永远不相等。删除分支写反了菜单 4 是删除我却顺手写成了heroes.append(h)——复制新增代码改的没改干净。应该是heroes.remove(h)。作用域和 global什么情况下必须写 global什么时候不用现在还靠试没形成直觉。四、错题反思与总结出错原因分析复制粘贴后没改干净删除写成 append——粗心input 不接收返回值——对input 会把用户输入返回回来这个机制理解不深值传递 / 引用传递混淆——新知识点不熟练。改正方法与小技巧复制代码后逐行问自己这一行在这个分支里该干什么尤其是函数名和 append/remove 这种反义词input()后面永远先检查“接收它的变量呢”判断传参类型记一句话数字字符串是复印件列表字典是原件写完一个功能立刻测一遍再写下一个别攒到最后一起 debug。五、下周计划继续深入函数听说还有 lambda 和递归把管理系统的删除功能修好并加上文件保存——正好把这周学的文件读写用进去让数据关机也不丢。记录于 2026 年 9 月 27 日第三周打卡完成 ✅
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Altium Designer晶振铺铜挖空设计原理与实操 2026/9/28 22:21:49

Altium Designer晶振铺铜挖空设计原理与实操

1. 这不是“填铜”而是“控铜”:晶振区域铺铜的本质矛盾与破局逻辑Altium Designer里画多边形铺铜,很多人以为只是把空白区域“填满”——这恰恰是导致晶振电路失效、EMI超标、起振失败的根源。我带过三届硬件新人,90%的人第一次做STM32H743Z…

阅读更多 →
Superpowers 实战:为 AI 编程助手注入技能包与四阶段工作流 2026/9/28 22:21:42

Superpowers 实战:为 AI 编程助手注入技能包与四阶段工作流

做开发这么多年,我越来越相信一件事:工具本身不产生价值,用工具的习惯才产生价值。superpowers 这个名字听起来像游戏外挂,实际上是一套围绕 AI 编程助手设计的技能增强方案。它不是要替代 Codex 这类智能体,而是给它们…

阅读更多 →
Superpowers技能包:让AI编程Agent输出质量更稳的实战指南 2026/9/28 22:21:35

Superpowers技能包:让AI编程Agent输出质量更稳的实战指南

superpowers 这个名字第一次看到时,我以为是某个效率玄学工具,直到在 Codex 工作流里真正连续用了一周,才确认它并不是包装出来的概念,而是真的能把 AI 编程 Agent 的产出质量往前推一截的东西。它不是脚手架,也不是&q…

阅读更多 →
基于PaddleOCR的车牌识别算法:从检测到识别的全流程实战与优化 2026/9/28 22:21:08

基于PaddleOCR的车牌识别算法:从检测到识别的全流程实战与优化

简介:本资源面向计算机视觉初学者与进阶开发者,提供一套基于PaddleOCR的车牌识别完整项目源码,帮助读者从零搭建可运行的车牌检测与识别系统,解决车牌定位、字符识别及模型部署等实际问题。压缩包共416个文件,约37MB&a…

阅读更多 →
Python深度学习人脸识别系统毕业设计:从CNN选型到答辩演示全链路 2026/9/28 22:21:08

Python深度学习人脸识别系统毕业设计:从CNN选型到答辩演示全链路

简介:这份资源面向高校学生与深度学习入门者,提供一套基于Python的人脸识别系统完整毕业设计实现,涵盖代码、模型与文档说明,可用于毕业设计、课程设计或期末大作业。项目采用深度学习方案,涉及FER2013、CK、JAFFE等公…

阅读更多 →
Python视频剪辑-Moviepy图文处理ImageClip 2026/9/28 22:21:02

Python视频剪辑-Moviepy图文处理ImageClip

在视频编辑和多媒体制作中,静态图像和文本的动态展示成为增强视觉效果的关键手段。ImageClip 和 TextClip 作为 moviepy 中的强大工具,提供了将静态图片和文字转化为视频剪辑的便捷方式。无论是为视频插入图片或文字,还是为图片添加透明效果和动画过渡,这些功能都极大地丰富…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉