昨日回顾:
1. is 和 == 的区别
id()
python中存在一个小数据池的概念.
python中两个数据类型存在小数据池:
int: -5~256
str: 每个字符*20之内,内存地址不会改变.超过20以上内存地址会改变.
is 比较的是内存地址.
== 比较的是两边的值
2. 编码
1. ASCII , 英文,数字,一些特殊符号 8bit 1个byte
2. GBK , 国标码, 汉字. 16bit 2个byte
3.unicode , 万国码, 32bit 4个byte
4.UTF-8 , 可变长度的unicode .
英文, 8bit 1个字节
欧洲文, 16bit 2个字节
汉字 , 24bit 3个字节
python2的版本,默认使用ascii
python3的版本,默认使用unicode,在计算的时候会很方便.
在网络传输和数据存储的时候,换gbk,utf-8
编码(encode): unicode变成你需要的编码
编码之后的内容是字节(bytes类型)
解码(decode):把目标bytes转成字符串
今日内容:
1.知识点补充.
1.str中的join方法,把列表转换成字符串
2.列表和字典在循环的时候不能直接删除,
需要把要删除的内容记录在新列表中,
然后循环新列表,删除字典或列表.
3. fromkeys()
1.返回新字典,对原字典没有影响
2. 后面的value,是多个key共享一个value
2. set集合
特点:
无序,不重复,元素必须可哈希(不可变)
作用:
去重复
本身是可变的数据类型,有增删改查操作.
frozenset() 冻结的集合,不可变的, 可哈希的.
3.深浅拷贝
1.赋值, 没有创建新对象,公用同一个对象.
2. 浅拷贝, 拷贝第一层内容, [ : ] 或 copy()
3.深拷贝, 拷贝所有内容,包括内部的所有.