20200105--python学习第七天

今日内容

  深浅拷贝

  文件操作

内容回顾及补充

1.内容回顾

  计算机基础

  编码

  语法

    if/while/for

  数据类型

  type/id/range

  运算符

2.面试题

  a.公司线上的系统用的是什么?

  b.py2与py3的区别

  c.运算符

  d.is与==d的区别

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

今日内容

1.深浅拷贝

  浅拷贝copy.copy():只拷贝第一层。

  深拷贝copy.deepcopy():拷贝嵌套层次中的所有可变类型。

  a.针对int+str+bool,都数据不可变的数据类型,理论是都是开辟一个新的存储空间,但由于小数据池的原因,深浅拷贝都使用同一个内存地址,请注意;

  b.针对list+set+dic

  深拷贝只有在嵌套中存有可变类型的情况下发挥作用。

  浅拷贝:只复制第一层,元素的值指向源地址。

  深拷贝:完全拷贝。

  c.特殊情况

  对于元组是不可变数据类型,深浅拷贝都不会重新开辟新的内存地址,但是如果里面存在由可变元素,就是重新开辟新的内存地址。

  2.文件操作

  a.打开

    r:只能读

    w:只能写,再写之前会先清空文件,如果文件不存在,会直接创建,如果存在就清空

    a:只能追加,即只能写,如果文件不存在,也会创建

  注意:r模式下:如果文件不存在就报错;w默认下:如果文件不存就创建,存在就先清空;a模式下,如果文件不存在就创建,不能读取文件内容;

    r+:可读可写

      读:默认从0的光标位置开始读,也可以通过seek调整光标的位置(seek是按字节计算的);

      写:从光标所在的位置开始写,也可以通过seek调整光标的位置(注意:当光标后边还有内容,写会覆盖光标后边的内容

    w+:先写后读

     读:默认光标永远在写的后边或是0(还没有开始写东西),也可以通过seek调整光标的位置;

     写:先清空文件,然后开始写内容

    a+:可追加可读

     读:默认光标永远在文件内容的最后边,也可以通过seek调整光标的位置,然后再去读取;

     写:永远写在最后边,不管光标怎么移动

  b.操作

    读:read()/read(2)【里面的数据表示的是字符】/readlines()

    写:write

# ###################################### 读操作
# file_object = open('log.txt',mode='r',encoding='utf-8')

# 读取文件的所有内容到内存
# data = file_object.read()

# 从当前光标所在的位置向后读取文件两个字符
# data = file_object.read(2)

# 读取文件的所有内容到内存,并按照每一行进行分割到列表中。
# data_list = file_object.readlines()
# print(data_list)

# 如果以后读取一个特别大的文件 (**********)
# for line in file_object:
# line = line.strip()
# print(line)

# file_object.close()

  c.关闭 close

猜你喜欢

转载自www.cnblogs.com/limin1027/p/12151892.html