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()               #关闭文件

s21day07 python笔记的更多相关文章

  1. Python笔记之不可不练

    如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...

  2. boost.python笔记

    boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...

  3. 20.Python笔记之SqlAlchemy使用

    Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...

  4. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

  5. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

  6. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  7. python笔记 - day8

    python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...

  8. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  9. python笔记 - day7

    python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...

随机推荐

  1. TCP三次握手与四次分手超简单解析

    关于TCP三次握手四次分手,之前看资料解释的都很笼统,很多地方都不是很明白,所以很难记,前几天看的一个博客豁然开朗,可惜现在找不到了.现在把之前的疑惑总结起来,方便一下大家. 先上个TCP三次握手和四 ...

  2. rman实验——测试备份压缩

    oracle rman自带的备份压缩机制,可以有效的压缩备份的大小,降低磁盘的占用率.但是也会因为压缩而消耗更多的系统性能,和增加备份时间.现在就通过实验来看压缩和不压缩的区别. 进行不压缩全备 RM ...

  3. 【Entity Framework】Revert the database to specified migration.

    本文涉及的相关问题,如果你的问题或需求有与下面所述相似之处,请阅读本文 [Entity Framework] Revert the database to specified migration. [ ...

  4. struts2学习笔记(一)

    配置文件web.xml和struts.xml web.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  5. Lintcode481-Binary Tree Leaf Sum-Easy

    481. Binary Tree Leaf Sum Given a binary tree, calculate the sum of leaves. Example Example 1: Input ...

  6. _rank

    命令 ._add rank 1000 自定义等级 `level` 等级 `name`等级描述 `prefix` 前缀名称 `gossipText` 菜单显示 `meetValue` 达到值就升级 `r ...

  7. svg(一)

    <svg width="100%" height="100%" version="1.1" xmlns="http://ww ...

  8. Rancher 容器管理平台-免费视频培训-链接及内容-第三季

    Rancher 容器管理平台-免费视频培训-链接及内容 第三季 第5期-2018年05月10日-持续集成的容器化实践回放网址:http://www.itdks.com/liveevent/detail ...

  9. 把腾讯视频嵌入到html中

    ---------------------------------------------------------------------------------------------------- ...

  10. png转tif

    发国外的文章要求图片是tif,cmyk色彩空间的. 大小尺寸还有要求. 比如 网上大神多,找到了一段代码,感谢! https://www.jianshu.com/p/ec2af4311f56 http ...