【Python】数据类型转换、函数与文件操作

发布时间:2026/9/28 21:08:49

【Python】数据类型转换、函数与文件操作 【Python】数据类型转换、函数与文件操作初步认识学习前两周我们已经初步学习了python的字符串列表字典的日常和内置函数的使用方法在这里总结一下Python的数据类型字符串类型 String数字类型 Number整形 int浮点型 float复数 complex布尔类型 Bool列表类型 List元组类型 Tuple字典类型 Dictionary集合类型 Set可变数据类型列表字典集合不可变数据类型字符串数字类型布尔类型元组容器类型数据字符串列表元组字典集合非容器类型数据数字类型布尔类型————————————————文章目录一、数据类型转换1 常用转换方法2 综合练习二、函数的基本使用1 定义与调用2 函数的参数3 函数的返回值三、函数进阶1 作用域2 值传递与引用传递四、文件操作1 相对路径与绝对路径2 文件的读写五、总结一、数据类型转换不同数据类型之间不能直接运算需要先转换为同一类型。常用转换函数str()、int()、list()、tuple()、set()、dict()。1 常用转换方法① 列表转集合去重s_city[合川,渝中,渝中,渝北,江北,江北,北碚]lset(s_city)print(list(l))# 转集合自动去重再转回列表② 字符串转列表split()s张三,李四,王五s_ls.split(,)print(s_l,type(s_l))# [张三, 李四, 王五] class list③ 列表转字符串join()data[渝北,合川,北碚,渝中,江北]s.join(data)print(s)# 渝北合川北碚渝中江北④ 列表与元组互转ttuple(data)# 列表转元组dlist(t)# 元组转列表注意split()和join()是一对反向操作集合去重后元素顺序会打乱。2 综合练习练习 1将a,b,c,d,e,f,g转成列表删除第 3 个元素再转回字符串。sa,b,c,d,e,f,gs1s.split(,)s1.pop(2)# 删除第3个元素s2,.join(s1)print(s2)# a,b,d,e,f,g练习 2统计一段话中每个单词出现的次数存入字典并找出出现次数最多的单词。textapple banana apple cherry banana appletexttext.split( )cs{}forvintext:cs[v]cs.get(v,0)1# get(v, 0)取不到该键时返回 0best_wordmax(cs,keycs.get)# 找次数最多的键print(best_word,cs[best_word])# apple 3二、函数的基本使用函数是组织好的、可重复使用的代码段用来实现某个具体功能。1 定义与调用defsay_hello():# def 与函数名之间有空格函数名后带括号和冒号print(hello)say_hello()# 调用函数名 括号注意函数必须先定义后使用。2 函数的参数① 形参与实参defsay_hello(name):# name 为形式参数print(f{name},欢迎回家)say_hello(张三)# 张三 为实际参数② 位置参数与关键字传参defintroduce(age,name):print(f我叫{name},今年{age}岁)introduce(18,李四)# 位置参数顺序、数量必须一一对应introduce(name李四,age18)# 关键字传参直接指定赋值顺序可不一致3 函数的返回值return用于返回计算结果并结束函数不写return时默认返回None。defis_pic(fname):iffname.endswith(.jpg)orfname.endswith(.jpeg):returnTruereturnFalse练习# 1. 判断是否为偶数defis_even(n):ifn%20:returnTrueelse:returnFalse# 2. 返回三个数中的最大值defmax_of_three(a,b,c):returnmax([a,b,c])# 3. 统计字符 ch 在字符串 s 中出现的次数defcount_char(s,ch):count0forcins:ifcch:count1returncountprint(count_char(banana,a))# 3三、函数进阶1 作用域全局变量在函数外定义整个文件内可用。局部变量在函数内定义只在函数内部生效。a1# 全局变量defwelcome():globala# 声明修改全局变量不加 global 则视为新建局部变量aa1welcome()print(a)# 2注意函数内出现与全局同名的变量时默认新建局部变量要修改全局变量必须使用global。2 值传递与引用传递值传递整型、字符串、布尔值函数内修改不影响外部变量。引用传递列表、字典等容器函数内修改会影响外部变量。# 值传递a1deff1(a):aa1# 只修改函数内的副本f1(a)print(a)# 1原值不变# 引用传递a[1]deff2(a):a[0]a[0]1# 修改的是同一块内存f2(a)print(a[0])# 2原值被修改四、文件操作1 相对路径与绝对路径绝对路径从盘符如D:\开始的完整路径定位精确但换环境后容易失效。相对路径以当前文件所在位置为参照项目迁移后仍可用开发中优先使用。2 文件的读写基本流程打开 → 操作 → 关闭fopen(test.txt,r,encodingutf-8)# 打开文件contentf.read()# 读取全部内容f.close()# 关闭文件释放资源常用访问模式模式描述r只读默认文件不存在则报错w写入清空原有内容文件不存在则新建a追加在末尾写入文件不存在则新建推荐使用with写法自动关闭文件withopen(test.txt,a,encodingutf-8)asf:f.write(新的一行内容\n)# 离开 with 代码块后文件自动关闭五、总结类型转换split()字符串转列表、join()列表转字符串、set()去重、tuple()/list()互转。函数def定义、函数名() 调用参数分形参与实参位置参数顺序必须一致关键字传参可乱序return返回结果。作用域函数内为局部变量函数外为全局变量修改全局变量须用global。参数传递数字、字符串为值传递函数内改不动外部列表、字典为引用传递函数内可改外部。文件操作优先相对路径读写三步打开 → 操作 → 关闭推荐with open()自动关闭。
延伸阅读

更多相关文章

2026/9/28 21:03:49

F407定时器PWM输出指定数量脉冲程序

DMA 独立计数法(推荐多轴高频场景,零脉冲开销)为了释放CPU,可以利用 TIM8 4个通道各自独立的 Compare (CC) DMA请求。让硬件DMA去数脉冲,CPU只在脉冲发送完毕时介入一次。实现机制: 定时器每次输出一个PWM脉…

2026/9/28 21:58:53

Python电商评论情感分析全流程实战:从数据采集到模型训练

简介:基于Python的电商买家评论情感分析项目包,专为毕业设计、期末大作业和课程设计场景打造,代码注释详尽,即使完全没有项目经验的新手也能看懂每一步实现,曾获98分且深受导师认可。整个压缩包约54MB,内含…

2026/9/28 21:58:53

手机本地部署大模型实战:从模型量化到Android/iOS推理优化

1. 手机跑大模型这件事,到底靠不靠谱先说结论:能跑,但别指望它替代云端服务。我前后在骁龙8 Gen 2的Android机和iPhone 15 Pro上折腾了差不多两个月,从最初的“这玩意儿真能跑?”到后来把本地模型接进自己的笔记工作流…

2026/9/28 21:58:53

零基础用海康VM教育版做视觉定位:从环境搭建到标定实战

机器视觉这行有个很现实的门槛:软件授权。很多人想入门,卡在第一步——打开官网一看,商业版授权费用不低,加密狗又是一笔开销,还没开始学就先被劝退。海康VM的教育版算是给了一条活路,功能上做了合理裁剪&a…

2026/9/28 21:58:53

无人机编队协同新选择:M-Robots OS与ROS实战对比

1. 无人机编队为什么需要一套新系统1.1 从单机飞控到编队协同的跨越搞过无人机编队的人都知道,单机飞控和编队协同完全是两个维度的工程。单机场景下,飞控只管自己这一亩三分地,姿态解算、位置控制、电机输出,跑通了就完事。但一旦…

2026/9/28 21:53:53

校园POS消费数据清洗与行为建模实战指南

简介:本资源是一份面向本科生与Python初学者的校园消费行为分析实战项目,适用于毕业设计、期末大作业及课程设计场景,聚焦学生群体消费偏好、时段规律与食堂就餐结构等现实问题,助力掌握从数据清洗到建模可视化的完整分析链路。压…

2026/9/28 3:03:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/28 6:05:15

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/28 6:07:41

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/28 0:02:03

广州外贸网站建设推广:从零搭建全流程拆解与真实报价避坑

广州外贸网站建设推广:从零搭建全流程拆解与真实报价避坑 改个需求建站公司拖一周,后台改个文案还得再交一笔“技术维护费”。这种憋屈事儿,做外贸的朋友太熟悉了。很多老板在找广州外贸网站建设推广服务商时,光盯着首页好不好看,却忽略了从零搭建一个能…

2026/9/28 0:02:04

搞懂百度竞价推广价格,网站性能优化别掉链子

搞懂百度竞价推广价格,网站性能优化别掉链子 网站突然打不开,浏览器弹出红色警告“此网站存在安全风险”,后台一看全是乱码代码和奇怪的跳转链接。这种网站被黑挂马的绝望感,很多刚转行做网站的朋友都经历过,尤其是那些为了省几百块钱服务器费用的新手。…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/28 1:59:25

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑