欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

s21day07 python笔记

程序员文章站 2022-04-28 10:22:18
s21day07 python笔记 一、昨日内容回顾及补充 1. 回顾 2. 补充 将前面所提到的功能,统一改称为方法 二、深浅拷贝 1. 基本格式 2. 整型int/布尔bool/字符串str(不可变类型) 深拷贝和浅拷贝的结果都是一样的 无法重新开辟一个内存地址,就使用同一个地址 3. 列表li ......

s21day07 python笔记

一、昨日内容回顾及补充

  1. 回顾
  2. 补充
    • 将前面所提到的功能,统一改称为方法

二、深浅拷贝

  1. 基本格式

    v1 = [1,2,3]
    import copy       
    v2 = copy.copy(v1)             #浅拷贝
    v3 = copy.deepcopy(v1)         #深拷贝
  2. 整型int/布尔bool/字符串str(不可变类型)

    • 深拷贝和浅拷贝的结果都是一样的
    • 无法重新开辟一个内存地址,就使用同一个地址
  3. 列表list/字典dict/集合set(不可变类型)

    • 对于其中的元素都是不可变类型时,深拷贝和浅拷贝的结果都是一样的,都是只拷贝第一层
    • 对于其中元素存在可变类型时,浅拷贝只拷贝第一层,深拷贝要拷贝所有的可变类型
  4. 特殊类型:元组tuple

    • 如果元组中不含有可变类型,同理字符串的深浅拷贝
    • 如果元组中含有可变类型,同理列表的深浅拷贝
  5. 总结

    • 浅拷贝:只拷贝第一层

      深拷贝:拷贝嵌套层次中的所有可变类型

    • 深拷贝之所以不拷贝不可变类型,是由于python小数据池的缘故

    • 注意:

      • 拷贝只针对可变类型:再创造一份
      • 不可变类型:不会拷贝(不再创造一份出来,都是用同一个地址)

三、文件操作

  1. 打开

    • 打开方式:

      file = open('文件路径',mode = 'r',encoding = 'utf-8')
    • mode

      • 读取:r,只能读
      • 写入:w,只能写,写之前清空
      • 写入:a,只能追加
      • 可读可写:r+
        • 读:默认从0的光标开始读,也可以通过 seek 调整光标的为位置
        • 写:从光标所在的位置开始写,也可以通过 seek 调整光标的位置
      • 可读可写:w+
        • 读:默认光标永远在写入的最后或0,也可以通过 seek 调整光标的位置
        • 写:先清空
      • 可读可写:a+
        • 读:默认光标在最后,也可以通过 seek 调整光标的位置。然后再去读取
        • 写:永远写到最后
    • encoding

      • 用什么编码保存,就用什么编码打开,否则会乱码
    • .seek(3)

      • 移动光标的位置,数字代表移动到底几个字节
  2. 操作

      • 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()                #写完一定要关闭文件(关闭相当于保存)
  3. 关闭

    • 关闭方式

      file = open('文件路径',mode = 'r',encoding = 'utf-8')
      file.close()               #关闭文件