> 作者:დ旧言~
> 座右铭:松树千年终是朽,槿花一日自为荣。
> 目标:了解Python的字典、文件。
> 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安!
> 专栏选自:Python基础知识_დ旧言~的博客-CSDN博客
> 望小伙伴们点赞👍收藏✨加关注哟💕💕
一、字典
1.1、字典是什么
字典概念:
- 字典是一种存储 键值对 的结构.
- 把 键(key) 和 值(value) 进行一个一对一的映射 , 然后就可以根据键, 快速找到值.
1.2、创建字典
使用语法:
- 使用 { } 表示字典.
- 使用dict()函数创建字典,适用动态创建情况。

- 也可以在创建的同时指定初始值
- 键值对之间使用 , 分割 , 键和值之间使用 : 分割. (冒号后面推荐加一个空格).
使用 print 来打印字典内容:

为了代码更规范美观, 在创建字典的时候往往会把多个键值对, 分成多行来书写:
python
student = {
'id': 1,
'name': 'zhangsan'
} # 创建字典并分行初始化
print(student) # 打印字典数据
最后一个键值对, 后面可以写 , 也可以不写:
python
student = {
'id': 1,
'name': 'zhangsan', # 最后一个键值对加,
} # 创建字典并分行初始化
print(student) # 打印字典数据
1.3、查找 key
使用 in 可以判定 key 是否在 字典 中存在. 返回布尔值:

使用 [ ] 通过类似于取下标的方式, 获取到元素的值 . 只不过此处的 "下标" 是 key . (可能是整数, 也可能是字符串等其他类型):

如果 key 在字典中不存在, 则会抛出异常:

1.4、新增/修改元素
概念:
- 使用 [ ] 可以根据 key 来新增/修改 value.
如果 key 不存在 , 对取下标操作赋值, 即为新增键值对:

如果 key 已经存在 , 对取下标操作赋值, 即为修改键值对的值:

1.5、删除元素
使用pop 方法根据 key 删除对应的键值对:

1.6、遍历字典元素
直接使用 for 循环能够获取到字典中的所有的 key, 进一步的就可以取出每个值了:

1.7、取出所有 key 和 value
使用keys 方法可以获取到字典中的所有的 key:

- 此处 dict_keys 是一个特殊的类型, 专门用来表示字典的所有 key. 大部分元组支持的操作对于dict_keys 同样适用.
使用 values 方法可以获取到字典中的所有 value:

- 此处 dict_values 也是一个特殊的类型, 和 dict_keys 类似.
使用items 方法可以获取到字典中所有的键值对:

1.8、合法的 key 类型
概念:
- 不是所有的类型都可以作为字典的 key.
- 字典本质上是一个 哈希表 , 哈希表的 key 要求是 "可哈希的", 也就是可以计算出一个哈希值.
可以使用 hash 函数计算某个对象的哈希值,但凡能够计算出哈希值的类型, 都可以作为字典的 key:

列表无法计算哈希值:

字典也无法计算哈希值:

二、文件
2.1、文件是什么
概念:
- 变量是把数据保存到内存中. 如果程序重启/主机重启, 内存中的数据就会丢失.
- 要想能让数据被持久化存储 , 就可以把数据存储到硬盘中 . 也就是在 文件 中保存.
通过文件的后缀名, 可以看到文件的类型. 常见的文件的类型如下:
- 文本文件 (txt)
- 可执行文件 (exe, dll)
- 图片文件 (jpg, gif)
- 视频文件 (mp4, mov)
- office 文件 (.ppt, docx)
- ......
2.2、文件路径
概念:
一个机器上, 会存在很多文件, 为了让这些文件更方面的被组织, 往往会使用很多的 "文件夹"(也叫做目录)来整理文件 .实际一个文件往往是放在一系列的目录结构之中的.为了方便确定一个文件所在的位置 , 使用 文件路径 来进行描述.
例如, 上述截图中的 QQ.exe 这个文件, 描述这个文件的位置 , 就可以使用路D:\program\qq\Bin\QQ.exe 来表示:
- D: 表示 盘符. 不区分大小写.
- 每一个 \ 表示一级目录. 当前 QQ.exe 就是放在 "D 盘下的 program 目录下的 qq 目录下的 Bin 目录中" .
- 目录之间的分隔符, 可以使用 \ 也可以使用 / . 一般在编写代码的时候使用 / 更方便.
2.3、文件操作
概念:
要使用文件 , 主要是通过文件来保存数据 , 并且在后续把保存的数据读取出来, 但是要想读写文件, 需要先 "打开文件" , 读写完毕之后还要 "关闭文件".
2.3.1、打开文件
使用内建函数 open 打开一个文件:

- 第一个参数是一个字符串, 表示要打开的文件路径
- 第二个参数是一个字符串, 表示打开方式. 其中 r 表示按照读方式打开. w 表示按照写方式打开. a表示追加写方式打开.
- 如果打开文件成功, 返回一个文件对象. 后续的读写文件操作都是围绕这个文件对象展开.
- 如果打开文件失败(比如路径指定的文件不存在), 就会抛出异常.
2.3.2、关闭文件
使用 close 方法关闭已经打开的文件:
python
f.close() # 关闭文件
一个程序能同时打开的文件个数, 是存在上限的:

- 如上面代码所示, 如果一直循环的打开文件, 而不去关闭的话, 就会出现上述报错.
- 当一个程序打开的文件个数超过上限, 就会抛出异常.
2.3.3、写文件
文件打开之后, 就可以写文件了:
- 写文件, 要使用写方式打开, open 第二个参数设为 'w'
- 使用 write 方法写入文件.
python
f = open('d:/test.txt', 'w') # 以写的方式打开文件
f.write('hello') # 向文件中写入hello字符串
f.close() # 关闭文件
2.3.4、读文件
读文件内容需要使用 'r' 的方式打开文件,使用 read 方法完成读操作. 参数表示 "读取几个字符" :
python
f = open('d:/test.txt', 'r') # 以读的方式打开文件
result = f.read(2) # 读取两个字符
print(result)
f.close() # 关闭文件
三、结束语
今天内容就到这里啦,时间过得很快,大家沉下心来好好学习,会有一定的收获的,大家多多坚持,嘻嘻,成功路上注定孤独,因为坚持的人不多。那请大家举起自己的小手给博主一键三连,有你们的支持是我最大的动力💞💞💞,回见。
