编码与copy

Is == id

Id查询内存地址

小数据储存再内存中的地址中

id 找内存地址

Is 比较 内存地址是否相同

Is 再终端比较 cmd

小数据池: int  str  再一定范围内,如果俩个数相同,

为了节省内存,共用一个内地址   范围5 ~ ~256

Str 1有非字母的字符串,没有小数据池 。

2 单个字母 乘以数字 ,数字不能超过21。有小数据池

 

编码二

Ascii 一个字符一个字节 (8位)

Unicode 万国码 16 位 一个字符 二个字节

32位 一个字符四个字节

Utf-8  字母一个字节

欧洲 2个字节一个个字符

亚洲 3给个字节一个个字符

Gbk 一个字母2个字节  中文2个字节

不同密码本之间的二进制是不能互相识别的,容易报错或产生乱码

计算的文件存储和传输都是它们(Ascii  Utf-8   Gbk  gb23120101.不能是unicode0101

 

大前提python3

内存中的编码方式是 unicode

数据类型。。。

 

 

 

英文:

Str: 表现形式

内部编码  unicode

Bytes:表现形式 :name = b“内容”

内部编码 bytes unicode

 

Str 转换 bytes

S1 = “内容”

B1 = s1.encode(编码类型)叫编码

S2 = b1.decode(编码)叫解码

Str 所有方法  bytes都有

 

 

 

Ascii :英文数字特殊字符  8位一个字节

 

Unicode:万国码 4个字节

 

升级UTF-8 字母 8位一个字节

 

欧洲 4个字节

 

中文 8个字节

 

不同的编码之间不能相互识别

 

在文件传输和存储,编码是除Unicode 以外的任意的任意编码

 

Python3x

 

Str:内部编码方式 unicod  表现形式:name = “中国”

 

Bytes: 内部编码方式 非unicode 表现形式 :name + b

 

基础数据类型的补充

 

元组 :元组里面只有一个元素后没有跟逗号,则该数据的数据类型与里面的元素数据类型是一样的。

 

列表注意:再循环一个列表时,最好不要改变列表的大小,会影响你的最终结果。

 

再循环字典中,最好不要改变字典的大小,会影响结果或者报错。

 

基础数据类型 set集合

 

增:集合。Add(“内容”)   set.update(“可迭代的”)

 

删:集合。Remove(“内容”),随机删除—集合。Pop()有返回值,删除的内容

 

集合。Clear()清空,del 集合

 

查:for i in set

 

Printi

 

交集(& intersection) 并集(| union) 差集(- difference

 

反交集(^ symmetric_difference

 

 对于赋值运算来说,指向的都是同一个内存地址,一变都变

 

 

 

深层copy

 

深层copy , 完全独立的 每一层都不共用

 

新变量名=CopyDeepcopy(变量)

 

赋值是 copy   

 

浅层copy

 

对于浅层copy来说,第一层创建的是新的内存地址,而从第二层开始,

 

指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性

 

对于切片来说,这是浅copy

 

l1 = [1, 2, 3, 4, 5, 6, [11,22]]

 

l2 = l1[:]

 

# l1.append(666)

 

# print(l1, l2)

 

l1[-1].append(666)

 

print(l1, l2)

 

 

 

 

转载于:https://www.cnblogs.com/zhu0423/p/9039550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值