首页 > 其他 > 详细

No.7深浅拷贝&文件操作

时间:2020-03-19 10:06:01      阅读:46      评论:0      收藏:0      [点我收藏+]

No.7

今日概要

  • 深浅拷贝(面试)
  • 文件操作

内容回顾和补充

  1. 内容回顾

    • 计算机基础
    • 编码
    • 语法
      • if
      • while
      • for
    • 数据类型
    • range / type / id
    • 运算符
  2. 面试题

    1. 公司线上系统用的什么? centos

    2. py2和py3的区别?

      • 默认解释器编码
      • 输入/输出
      • 整数除法 / int long
    3. 运算符

      v = 1 or 0 and 8 or 9
      print(v)
    4. is 和 == 的区别?

    5. 列举python的数据类型中有哪些方法?

内容详细

1.深浅拷贝

  • 浅拷贝

    #按理应该拷贝一份存入新地址,但由于小数据池的原因依旧指向原地址。
    v1 = 'alex'
    import copy
    v2 = copy.copy(v1)
    print(id(v1),id(v2))
    v3 = copy.deepcopy(v1)
    print(id(v1),id(v3))
  • 深拷贝

    #浅拷贝只拷贝第一层可变类型,深拷贝拷贝所有可变类型。
    v1 = [1,2,3,[11,22,33]]
    import copy
    v2 = copy.copy(v1)
    print(id(v1),id(v2))         #id不一样
    print(id(v1[3]),id(v2[3]))   #id一样
    
    v3 = copy.deepcopy(v1)
    print(id(v1),id(v3))         #id不一样
    print(id(v1[3]),id(v3[3]))   #id不一样
    
    print(id(v1[0]),id(v2[0]),id(v3[0]))  
    #v1/v2/v3里面的第1个元素id都一样,是因为小数据池的原因造成的,我们可以理解成浅拷贝只拷贝第一层可变类型,深拷贝拷贝所有可变类型。

2.文件操作

  • 打开

    #打开文件
    f = open('文件路径', mode=;'r/w/a', encoding='原文件写入时定义的编码')
    #操作
    data = f.read()  #读取文件的内容到内存(全部)
    f.write('要写入的内容')
    #关闭
    f.close()
    • r 只能读。▲▲
    • w 只能写,写之前清空。▲
    • a 只能追加。▲
    • r+
      • 读:默认从0的光标开始读,也可以通过seek调整光标位置。
      • 写:从光标所在位置开始写,也可以通过seek调整光标位置。
    • w+
      • 读:光标永远在写入的最后或者0,也可以通过seek调整光标位置。
      • 写:永远会先清空。
    • a+
      • 读:默认光标在最后,也可以通过seek调整光标位置后再读取。
      • 写:永远写到最后。
  • 操作
      • read()

      • read(2) 参数是字符/字节

      • readlines()

        with open('文件操作练习.txt', mode = 'r',encoding = 'utf-8') as f:  
            data = f.readlines()
        print(data)
        #列表的形式返回,列表中每个元素是文件一行的内容,以字符串形式呈现。
        ['1|alex|123123\n', '2|eric|rewrew\n', '3|wupeiqi|ppp']
    • write
    • seek 参数永远是字节
  • 关闭

总结

  • 深浅拷贝
  • 文件操作
    • 打开
    • 读写
    • 关闭
  • 文件操作和数据类型的结合使用。

No.7深浅拷贝&文件操作

原文:https://www.cnblogs.com/elliottwave/p/12521790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!