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 ...
随机推荐
- linux shell中如何删除指定后缀名的文件?
答: find . -name '*.txt' -delete 这条命令含义如下: 从当前目录开始查找以txt为后缀名的文件并删除掉
- 牛客练习赛43C Tachibana Kanade Loves Review
题目地址 Link 题解 虚点这种东西还是没有掌握好啊. 考虑建一个虚点,向已经学会的东西连一条边权为0的边,关系正常连边,单独学的从虚点连一条边过去. 然后做一遍最小生成树就得到答案了. 这题略卡常 ...
- java Encryption&Decryption
The encryption class: package cn.com.smartcost.qy.util; import java.security.Key; import java.securi ...
- Python 运行uiKLine.py ,PyQt4错误
python 开发环境tool: 在运行项目中出现 NO module name PyQt4 错误 解决:
- php 截取 小程序上传到服务器图片,
截取字符串传入数据库 $f_slide = htmlspecialchars_decode($_REQUEST['f_slide']); // echo "<pre>" ...
- fast-route的使用
<?php require 'vendor/autoload.php'; // 通过 FastRoute\simpleDispatcher() 方法定义路由,第一个参数必须是 FastRoute ...
- Python requests代理
self.ip=requests.get('http:ip获取') self.ip=(self.ip.text).replace('\r','').replace('\n','') print('IP ...
- 【Java】【9】String Date Calendar之间的转换
前言: 1, Calendar 转化 String 2, Calendar 转化 Date 3,Date 转化 String 4,Date 转化 Calendar 5,String 转化 Calend ...
- localStorage、sessionStorage用法以及区别
设置: sessionStorage.setItem("key", "value");localStorage.setItem("site" ...
- 八大排序算法——选择排序(动图演示 思路分析 实例代码Java 复杂度分析)
一.动图演示 二.思路分析 1. 第一个跟后面的所有数相比,如果小于(或小于)第一个数的时候,暂存较小数的下标,第一趟结束后,将第一个数,与暂存的那个最小数进行交换,第一个数就是最小(或最大的数) ...