当前位置:首页>python>【小沐学Python】Python扩展类型(三)

【小沐学Python】Python扩展类型(三)

  • 2026-10-11 14:56:43
【小沐学Python】Python扩展类型(三)

周末午后,戈戈正坐在书桌前研读《传习录》,房间里时不时响起阳明心学箴言。

忽然敲门声响起,小沐提着电脑匆匆进来,脸上满是困惑:“戈戈,我被Python数组类型搞晕了,你快帮我看看!”

戈戈合上书,笑着示意他坐下:“别急,正好我看了半天心学,看看代码休息一下。”。

1、心学篇(数组类型)

戈戈:你未看此花时,此花与汝心同归于寂。你来看此花时,则此花颜色一时明白起来。便知此花不在你的心外。
小沐:修道了嚒,神神叨叨的…

1.1 列表

Python列表是常用可变有序序列,用[]包裹多类型元素,支持增删改查,灵活存储数据。

# 列表示例:存储多种类型数据,演示基础使用
# 可添加、删除、修改元素,适配多场景数据存储
student_info = ['张三', 20, '计算机专业', 85.5]
print("学生基础信息:", student_info)
# 演示添加元素
student_info.append('Python课程')
print("添加课程后:", student_info)

1.2 元组

Python元组以()定义,与列表形似但元素不可修改,占用内存少。

# 元组示例:存储固定不变的数据(如商品规格)
# 元素不可修改,适合存储无需变动的常量数据
product_spec = ('笔记本电脑', '15.6英寸', 8, 512, 4999)
print("电脑产品规格:", product_spec)
# 演示读取元组元素(无法修改)
print("电脑价格:", product_spec[4], "元")

1.3 字典

Python字典是键值对可变容器,用{}存储,通过唯一key映射value。

# 字典示例:用键值对存储映射关系(如学生成绩)
# 通过key快速查询value,灵活存储关联数据
student_score = {'语文': 92, '数学': 88, '英语': 95, 'Python': 90}
print("学生各科成绩:", student_score)
# 演示查询指定科目成绩
print("Python成绩:", student_score['Python'])

1.4 集合

Python集合是无序无重复序列,用{}表示,自动去重。

# 集合示例:存储无重复元素(如课程列表)
# 自动去重,适合筛选不重复数据
course_set = {'语文', '数学', '英语', 'Python', 'Python', '英语'}
print("去重后的课程列表:", course_set)
# 演示集合基础运算(交集/并集可自行扩展)
another_set = {'Python', 'Java', 'C++'}
print("两门课程的交集:", course_set & another_set)

2、稻盛篇(文件操作)

戈戈:稻盛心学教人一心一意磨炼心灵,到达真我,瞬间明白一切真理。可对?
小沐:适度鸡汤也可以的,不要刻意。

2.1 文件操作

Python通过os模块实现全场景文件操作,可校验路径、管理文件属性。

import os
file_path = "戈戈小沐Python学习笔记.txt"
if os.path.exists(file_path):
    print(f"{file_path} 已存在,可直接编辑学习内容")
else:
    print(f"{file_path} 不存在,将创建新文件")
    open(file_path, "w", encoding="utf-8").close()
  • 1. 路径校验

    • 检验是否为文件:os.path.isfile()
    • 检验是否为目录:os.path.isdir()
    • 判断是否为绝对路径:os.path.isabs()
    • 检验路径是否存在:os.path.exists()
  • 2. 路径处理

    • 分离目录与文件名:os.path.split()(例:os.path.split('/home/swaroop/byte/code/poem.txt'),结果:('/home/swaroop/byte/code', 'poem.txt'))
    • 分离文件扩展名:os.path.splitext()
    • 获取路径名:os.path.dirname()
    • 获取文件名:os.path.basename()
  • 3. 文件管理

    • 获取文件属性:os.stat(file)
    • 获取文件大小:os.path.getsize(filename)
    • 修改文件权限/时间戳:os.chmod(file)
    • 文件/目录重命名:os.rename(old, new)
    • 获取目录下所有文件/目录:os.listdir()
    • 获取当前工作目录:os.getcwd()
    • 删除单个文件:os.remove(path)
  • 4. 环境与进程

    • 读取/设置环境变量:os.getenv() / os.putenv()
    • 获取平台行终止符:os.linesep(Windows:'\r\n',Linux:'\n',Mac:'\r')
    • 指示当前平台:os.name(Windows:'nt',Linux/Unix:'posix')
    • 终止进程:os.exit()
    • 运行shell命令:os.system()

2.2 目录操作

Python结合os与shutil模块实现目录全流程管理,支持创建、复制、删除。

import os
study_dir = "戈戈小沐Python学习目录"
ifnot os.path.exists(study_dir):
    os.mkdir(study_dir)
    print(f"创建{study_dir}成功,可存放学习资料")
else:
    print(f"{study_dir}已存在,目录内容:", os.listdir(study_dir))
  • 1. 目录基础操作

    • 创建单个目录:os.mkdir("file")
    • 创建多级目录:os.makedirs(r"c:\python\test")
    • 切换工作目录:os.chdir("path")
    • 删除空目录:os.rmdir("dir")
    • 删除空/非空目录:shutil.rmtree("dir")
    • 删除多级目录:os.removedirs(r"c:\python")
  • 2. 复制操作

    • 复制文件(仅文件):shutil.copyfile
    • 复制文件/目录:shutil.copy("oldfile","newfile")(oldfile为文件夹,newfile可为文件/目录)
    • 复制文件夹(仅目录,newdir不存在):shutil.copytree("olddir","newdir")
  • 3. 移动与重命名

    • 重命名文件/目录:os.rename("oldname","newname")
    • 移动文件/目录:shutil.move("oldpos","newpos")
  • 4. 文件删除

    • 删除单个文件:os.remove("file")

2.3 json

Python json模块实现字典与JSON互转,支持读写文件。

import json
# 存储戈戈和小沐的学习数据并写入JSON文件
study_data = {"戈戈": {"掌握内容": ["列表", "元组"], "进度": 60}, "小沐": {"掌握内容": ["列表"], "进度": 40}}
# 写入文件
with open("戈戈小沐学习数据.json", "w", encoding="utf-8") as f:
    json.dump(study_data, f, ensure_ascii=False, indent=2)
print("学习数据已写入JSON文件")

2.4 xml

Python xml模块(ElementTree)可解析、创建XML文件,支持节点操作。

import xml.etree.ElementTree as ET
# 创建戈戈和小沐的学习清单XML
root = ET.Element("学习清单")
gogo = ET.SubElement(root, "戈戈")
gogo.text = "1. 复习数组类型 2. 学习文件操作"
xiaomu = ET.SubElement(root, "小沐")
xiaomu.text = "1. 练习列表操作 2. 理解元组特性"
# 写入文件
ET.ElementTree(root).write("学习清单.xml", encoding="utf-8", xml_declaration=True)
print("戈戈小沐学习清单XML创建完成")

2.5 re

Python re模块提供正则匹配功能,可查找、替换字符串。

import re
# 从学习笔记中提取戈戈和小沐的学习关键词
note = "戈戈学习Python列表、元组;小沐学习Python列表、字典,两人共同学习心学"
pattern = r"戈戈|小沐|Python|列表|元组|字典|心学"
result = re.findall(pattern, note)
print("提取的学习关键词:", result)

2.6 pandas

Python pandas是数据分析核心库,支持数据读取与统计。

import pandas as pd
# 用pandas整理戈戈和小沐的学习进度
data = {"姓名": ["戈戈", "小沐"], "掌握知识点": ["列表、元组", "列表"], "进度(%)": [60, 40]}
df = pd.DataFrame(data)
print("戈戈小沐学习进度表:")
print(df)
# 计算平均进度
print("两人平均学习进度:", df["进度(%)"].mean(), "%")

夜色渐深,小沐合上电脑,脸上满是收获:“原来编程和心学相通,就像阳明先生说的‘知行合一’,看懂知识点是‘知’,写好代码是‘行’。”

戈戈点头附和:“没错,学习编程从不是死记硬背,正如心学所言,用心领悟、反复实践,才能真正掌握。”

两人相视一笑。

后续

如果你觉得这些文字有一点点用处,可以给作者点个赞;╮( ̄▽ ̄)╭
如果你感觉作者写的不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进。o_O???
谢谢各位同学们啦( ´ ▽ `` )ノ ( ´ ▽ ` )っ!!!
更多文章详见CSDN爱看书的小沐

最新文章

随机文章