2019-03-08-day007-深浅拷贝
01 昨日内容回顾
is 两者之间的id是否相同
== 两边的数值是否相等
id 获取该对象的内存地址
代码块:
一个文件,交互式命令行:一行是个一个代码块.
同一代码块下: 字符串的缓存机制,驻留机制:
背景: 同一个代码块下.
遇到初始化对象命令,会实现检查字典中是否有此对应关系......
针对的数据类型: int(float), 大量的str, bool, () ,None
优点:
1,节省内存空间.
2,提升性能.
小数据池:
背景:不同的代码块.
在内存中,开辟两个空间.
一个空间: -5~256 int.
一个空间: 一定规则的字符串.
针对的数据类型: int str,bool () None
优点:
1,节省内存空间.
2,提升性能.
数据类型的补充:
1,数据之间的相互转换.
2,(1) ----> int (1,) ----> tuple
3,dict.fromkeys([1,2,3],value)
4,循环一个列表,字典,不要改变其大小.
02 作业讲解
03 编码的进阶
ASCII: 英文字母,数字,特殊符号, ----> 二进制的对应关系
str:
1个字符 -----> 1个字节
a : 0001 0000
Unicode: 万国码: 世界上所有的文字与二进制的对应关系
1个字符 -----> 4个字节
a: 0001 0000 0001 0000 0001 0000 0001 0000
中: 0001 0000 0001 0000 0001 0000 0011 0000
utf-8: 至少用8位1个字节表示一个字符.
a: 0001 0000 映射的ASCII
中: 0001 0000 0001 0000 0001 0000 三个字节
gbk: 国标.
a: 0001 0000 映射的ASCII
中: 0001 0000 0001 0000 两个字节
1,不同的编码之间的0101010 是不能互相识别的.
2,网络传输,数据存储到磁盘你用的0101010这种二进制,不能使用Unicode的编码本去编译.
大背景:python3x版本.
str:它在内存中的编码方式: Unicode
但是咱们写入文件的内容,传输给别人的数据,一般都是str的形式.
矛盾点:网络传输,数据存储到磁盘你用的0101010这种二进制,不能使用Unicode的编码本去编译.但是python3x又需要str形式去操作
利用str 发送或者传输
(转换,将unicode编码转化成非Unicode)
----> 发送,传输
int
bool
str
bytes数据类型,与str几乎一模一样.
list
dict
set
tuple
英文:
str:
在内存中的编码:Uniode
表现形式:'taibai'
bytes:
在内存中的编码:非Unicode
表现形式:b'taibai'
中文:
str:
在内存中的编码:Uniode
表现形式:'中国'
bytes:
在内存中的编码:非Unicode
表现形式:b'\xe4\xb8\xad\xe5\x9b\xbd'
str(Unicode) ---> bytes(非Unicode)
04 文件操作的初识
美女护士教师主妇联系方式.txt
文件的路径:path.
编码方式:utf-8 gbk 等等.
具体的操作: 读,写,读写,写读,等等.
出现的问题:
1,路径问题.
r"D:\0美女护士教师主妇联系方式.txt"
"D:\\0美女护士教师主妇联系方式.txt"
2,
编码的问题:UnicodeDecodeError:
编码要与文件存储时的编码保持一致.
3,
错误: 有的电脑 会隐藏 后缀名.
05 文件的读
四种模式:
r r+ rb r+b ...
每种模式下,又有5种读文件不同方式.
06 文件的写
07 文件的追加
r r+ w a
网络: rb wb
08 其他操作方法
总结:
最常用的几个方法 read seek tell flush readable writeable
09 文件的改
以读的模式打开原文件.
以写的模式创建一个新文件.
将原文件内容读取出来,按照你的要求改成新内容,写入新文件.
删除原文件.
将新文件重命名成原文件.
10 深浅copy
浅copy
浅copy:
无论是同一个代码块,不同代码块下:
复制一个外壳(列表),但是列表里面的所有元素,都共用一个.
深copy:
不论是同一个代码块,不同代码块下:
不仅创建一个新外壳(列表),外壳里面的可变的数据类 型也创建一份新的,但是不可变的数据类型共用一个.
总结:
编码: gbk unicode utf-8 转换
文件操作:
r r+ rb wb
seek tell flush readable writeable read
文件的改的操作.
设计到的代码: 高大上版的一定要会.
深浅copy:面试考.
下周一:
上午 总结,回顾.(知识点,带着你们做题.)
晚上: 考试.
2019-03-08-day007-深浅拷贝的更多相关文章
- python 深浅拷贝 for循环删除
###########################总结########################### 1. 基础数据类型补充 大多数的基本数据类型的知识.已经学完了 a='aaaa' ls ...
- python set集合 以及 深浅拷贝
set集合 特点: 无序, 不重复, 元素必须可哈希(不可变) 作用: 去重复 本身是可变的数据类型. 有增删改查操作. frozenset()冻结的集合. 不可变的. 可hash的 深浅拷贝() 1 ...
- 巨蟒python全栈开发-第7天 基本数据类型补充&深浅拷贝
1.基本数据类型补充 2.深浅拷贝 DAY7-基本数据类型(基本数据类型补充&深浅拷贝) 本节主要内容: 1.补充基础数据类型 (1)join方法 (2)split方法 (3)列表不能在循环时 ...
- python 的深浅拷贝问题
深浅拷贝概念 基本类型和引用类型数据拷贝的问题.因为基本类型的数据大小是固定的,所以他保存在栈内存中:而引用类型的数据大小不固定,因而保存在堆内存中,单引用类型在栈内存中只保存一个指向堆内存的指针. ...
- 关于Python深浅拷贝
拷贝: 说明:原则上就是把数据分离出来,复制其数据,并以后修改互不影响. 何来深浅拷贝的说法? 深浅拷贝的“深”和“浅”可以理解为从变量到硬盘上的物理存储介质之间的层次的多少. 下面用一个示例来解释浅 ...
- 2019.03.03 - Linux搭建go语言交叉环境
编译GO 1.6版本以上的需要依赖GO 1.4版本的二进制,并且需要把GOROOT_BOOTSTRAP的路径设置为1.4版本GO的根目录,这样它的bin目录就可以直接使用到1.4版本的GO 搭建go语 ...
- Python的深浅拷贝
Python的深浅拷贝 深浅拷贝 1. 赋值,对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量并不是复制一份内容 list1 = [']] list2 = list1 p ...
- day17_7.19包与logging模块,深浅拷贝
一.包 在模块的定义里,模块就是方法的集合,可以将一些常用的方法封装到一个py文件中,通过调用使用,而且,其中的表现形式也有以包的形式导入. 其实,包就是一系列模块的结合体,表示形式就是一个文件夹,在 ...
- python基础--包、logging、hashlib、openpyxl、深浅拷贝
包:它是一系列模块文件的结合体,表现形式就是一个文件夹,该文件夹内部通常会有一个__init__.py文件,包的本质还是一个模块. 首次导入包:(在导入语句中中 . 号的左边肯定是一个包(文件夹)) ...
- 包、logging模块、hashlib模块、openpyxl模块、深浅拷贝
包.logging模块.hashlib模块.openpyxl模块.深浅拷贝 一.包 1.模块与包 模块的三种来源: 1.内置的 2.第三方的 3.自定义的 模块的四种表现形式: 1.py文件 2.共享 ...
随机推荐
- 重写TreeMap的compare方法处理配置表
需要处理的配置表如下: 接上一篇的优化,接着优化,优化代码如下: 这段代码的关键在于重写TreeMap的compare方法. 关于如何重写TreeMap的compare方法,以及返回值代表的意义,可 ...
- bzoj4516: [Sdoi2016]生成魔咒 sam
题意:每次插入一个数字,查询本质不同的子串有多少个 题解:sam,数字很大,ch数组用map来存,每次ins之后查询一下新建点表示多少个本质不同的子串(l[np]-l[fa[np]]) /****** ...
- 【转】预装Win8/8.1 中文版系统升级为专业版或专业版含媒体中心版的简单方法
[转]预装Win8/8.1 中文版系统升级为专业版或专业版含媒体中心版的简单方法 原文地址:http://www.iruanmi.com/upgrade-win8-china-to-a-higher- ...
- csu oj 1344: Special Judge
Description Given a positive integer n, find two non-negative integers a, b such that a2 + b2 = n. I ...
- Oracle PL/SQL游标
游标的提出: SQL是面向集合的,其结果一般是集合量(多条记录),而PL/SQL的变量一本是标量,其一组变量异常一直只能存放一条记录.所以仅仅使用变量并不能完全满足SQL语句向应用程序输出数据的要求. ...
- c++中利用localtime_s函数格式化输出当地日期与时间
Visual C++ 6.0开发环境中显示当地日期与时间主要通过localtime()函数来实现,该函数的原型在time.h头文件中,其语法格式如下: struct tm *localtime(xon ...
- Mysql优化系列--Innodb引擎下mysql自身配置优化-转
原文链接:http://www.cnblogs.com/kevingrace/p/6133818.html 谢谢楼主 1.简单介绍 InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全 ...
- C# 语法特性 - 泛型(C#2.0)
泛型将 类型参数 的概念引入了 .NET Framework. 泛型主要有两个优点: 1.编译时可以保证类型安全. 2.不用做类型转换,获得一定的性能提升. 泛型方法.泛型委托.泛型接口 除了泛型类之 ...
- Hadoop介绍-2.分布式计算框架Hadoop原理及架构全解
Hadoop是Apache软件基金会所开发的并行计算框架与分布式文件系统.最核心的模块包括Hadoop Common.HDFS与MapReduce. HDFS HDFS是Hadoop分布式文件系统(H ...
- JdbcTemplate查询返回JavaBean的几种方法
关于JdbcTemplate的官方描述如下: org.springframework.jdbc.core.JdbcTemplate 大约的讲,将JdbcTemplate返回的list结果集生成Java ...