s21day07 python笔记
程序员文章站
2022-10-06 12:34:58
s21day07 python笔记 一、昨日内容回顾及补充 1. 回顾 2. 补充 将前面所提到的功能,统一改称为方法 二、深浅拷贝 1. 基本格式 2. 整型int/布尔bool/字符串str(不可变类型) 深拷贝和浅拷贝的结果都是一样的 无法重新开辟一个内存地址,就使用同一个地址 3. 列表li ......
s21day07 python笔记
一、昨日内容回顾及补充
- 回顾
- 补充
- 将前面所提到的功能,统一改称为方法
二、深浅拷贝
-
基本格式
v1 = [1,2,3] import copy v2 = copy.copy(v1) #浅拷贝 v3 = copy.deepcopy(v1) #深拷贝
-
整型int/布尔bool/字符串str(不可变类型)
- 深拷贝和浅拷贝的结果都是一样的
- 无法重新开辟一个内存地址,就使用同一个地址
-
列表list/字典dict/集合set(不可变类型)
- 对于其中的元素都是不可变类型时,深拷贝和浅拷贝的结果都是一样的,都是只拷贝第一层
- 对于其中元素存在可变类型时,浅拷贝只拷贝第一层,深拷贝要拷贝所有的可变类型
-
特殊类型:元组tuple
- 如果元组中不含有可变类型,同理字符串的深浅拷贝
- 如果元组中含有可变类型,同理列表的深浅拷贝
-
总结
-
浅拷贝:只拷贝第一层
深拷贝:拷贝嵌套层次中的所有可变类型
深拷贝之所以不拷贝不可变类型,是由于python小数据池的缘故
-
注意:
- 拷贝只针对可变类型:再创造一份
- 不可变类型:不会拷贝(不再创造一份出来,都是用同一个地址)
-
三、文件操作
-
打开
-
打开方式:
file = open('文件路径',mode = 'r',encoding = 'utf-8')
-
mode
- 读取:r,只能读
- 写入:w,只能写,写之前清空
- 写入:a,只能追加
- 可读可写:r+
- 读:默认从0的光标开始读,也可以通过 seek 调整光标的为位置
- 写:从光标所在的位置开始写,也可以通过 seek 调整光标的位置
- 可读可写:w+
- 读:默认光标永远在写入的最后或0,也可以通过 seek 调整光标的位置
- 写:先清空
- 可读可写:a+
- 读:默认光标在最后,也可以通过 seek 调整光标的位置。然后再去读取
- 写:永远写到最后
-
encoding
- 用什么编码保存,就用什么编码打开,否则会乱码
-
.seek(3)
- 移动光标的位置,数字代表移动到底几个字节
-
-
操作
-
读
- read()
- read(2) # 字符
- readlines()
file = open('文件路径',mode = 'r',encoding = 'utf-8') #1.读取文件的所有内容到内存 date = file.read() #2.从当前光标所在的位置向后读取2个字符 date = file.read(2) #数字代表几个字符 #3.读取文件的所有内容,并按照每一行进行分割到啊列表中 date_list = file.readlines() #4.如果以后读取一个特别大的文件,可以一行一行读取 for line in file: line = line.strip() #去除换行符 print(line) #一行一行读取
-
写:write
file = open('文件路径',mode = 'w',encoding = 'utf-8') file.write('你好') #清空后写入 file.close() #写完一定要关闭文件(关闭相当于保存)
-
-
关闭
-
关闭方式
file = open('文件路径',mode = 'r',encoding = 'utf-8') file.close() #关闭文件
-
上一篇: C++学习(四十)(C语言部分)之 学生管理系统设计
下一篇: 数据分析处理库Pandas——索引