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.共享 ...
随机推荐
- Cron 表达式详解(已整理、很清晰)
Cron表达式是一个字符串,字符串分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek ...
- centos7 keepalived+nginx实现vip漂移高可用
一.Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前 ...
- random模块,time模块,os模块,sys模块
一.random模块 >>> import random #随机小数 >>> random.random() # 大于0且小于1之间的小数 0.7664338663 ...
- sessionStorage在项目中的应用
1. 本地存储 Cookie(局限性):用户可以禁用cookie,最多只能存储4kb,cookie有过期时间的(一般我们设置的时间最长1个月,用户使用杀毒软件也可以清除我们的cookie)LocalS ...
- 消费Restful的web服务(三)
构架工程 创建一个springboot工程,去消费RESTFUL的服务.这个服务是 http:///gturnquist-quoters.cfapps.io/api/random ,它会随机返回Jso ...
- css 改变浏览器滚动条的样式
/*滚动条样式*/ .innerbox::-webkit-scrollbar {/*滚动条整体样式*/ width: 4px; /*高宽分别对应横竖滚动条的尺寸*/ height: 4px; } .i ...
- sql server中截取字符串的常用函数
我们如果要在sql server中,使用截取字符串的方法要怎样使用呢? sql server提供了3个常用截取字符串方法,LEFT().RIGHT().SUBSTRING() /****** Sql ...
- 回声UDP服务器端/客户端
UDP是具有数据边界的协议,传输中调用I/O函数的次数非常重要.输入函数的调用次数要和输出函数的调用次数完全一致,这样才能保证接受全部已发送的数据. TCP套接字中需注册待传输数据的目标IP和端口,而 ...
- linux系统监控与硬盘分区/格式化/文件系统管理
1.系统监控 1) 系统监视和进程控制的工具----> Top 与 free 类似于windows的资源管理器. 进程运行的三种状态: tips: 进程(Process)是计 ...
- 浅谈Linux系统运维工程师必备技能
一.什么是运维工程师 相信读者们必定听说过Linux,也听说过运维工程师.那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operations)在国内又称为运维开发工程师(De ...