s21day07 python笔记
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() #关闭文件
s21day07 python笔记的更多相关文章
- Python笔记之不可不练
如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...
- boost.python笔记
boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...
- 20.Python笔记之SqlAlchemy使用
Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...
- Python笔记——类定义
Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...
- 13.python笔记之pyyaml模块
Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...
- 8.python笔记之面向对象基础
title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...
- python笔记 - day8
python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...
- python笔记 - day7-1 之面向对象编程
python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...
- python笔记 - day7
python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...
随机推荐
- NOIP 2017 列队 - Splay - 树状数组
题目传送门 传送点I 传送点II 题目大意 (家喻户晓的题目应该不需要大意) (我之前咋把NOIP 2017打成了NOIP 2018,好绝望) Solution 1 Splay 每行一颗Splay,没 ...
- 复旦高等代数 II(17级)每周一题
本学期将继续进行高等代数每周一题的活动.计划从第一教学周开始,到第十六教学周为止(根据法定节假日安排,中间个别周会适当地停止),每周的周末将公布1道思考题(共16道),供大家思考和解答.每周一题通过“ ...
- LeetCode in action
(1) Linked List: 2-add-two-numbers,2.cpp 19-remove-nth-node-from-end-of-list,TBD 21-merge-two-sorted ...
- spring/java ---->记录和整理用过的注解以及spring装配bean方式
spring注解 @Scope:该注解全限定名称是:org.springframework.context.annotation.Scope.@Scope指定Spring容器如何创建Bean的实例,S ...
- POJ-3233 Matrix Power Series 矩阵A^1+A^2+A^3...求和转化
S(k)=A^1+A^2...+A^k. 保利求解就超时了,我们考虑一下当k为偶数的情况,A^1+A^2+A^3+A^4...+A^k,取其中前一半A^1+A^2...A^k/2,后一半提取公共矩阵A ...
- React文档(十二)组合vs继承
React拥有很强大的组合模型,我们建议使用组合来替代继承来重利用组件之间的代码. 在本章节中,我们将讨论一些开发者经常触及继承的问题,并且我们该如何使用组合来解决这些问题. 组合 一些组件事先不知道 ...
- javascript中的词法分析
词法分析 JavaScript中在调用函数的那一瞬间,会先进行词法分析. 词法分析的过程: 当函数调用的前一瞬间,会先形成一个激活对象:Avtive Object(AO),并会分析以下3个方面: 1: ...
- flask请求上下文
先看一个例子: #!/usr/bin/env python # -*- coding:utf-8 -*- import threading # local_values = threading.loc ...
- .NET:bin 与 obj,Debug 与 Release ,区别与选择
bin 与 obj bin 目录:用来存放编译的结果. ( bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件 ) 编译的结果,有 Debug 和 Release 两个版本 ...
- learning gcc args
参数详解无选项编译链接 将test.c预处理.汇编.编译并链接形成可执行文件.这里未指定输出文件,默认输出为a.out. 例子用法: gcc test.c 无选项链接 gcc ...