python编码,赋值和is的区别

1. == 与 is 的区别

赋值 == 比较值是否相等,is 比较,比较的是内存地址。

小数据池的作用是节省内存空间

数字的范围:-5 到 256 共用一个数据池

字符串范围:1.不能有特殊字符。2. s*20还是同一个地址,超过以后就是不用地址  3.不同字符超过20仍然is

剩下的 列表,元祖等没有小地址池

2. python3中的编码

ascii
一个字符1个字节,占8位
A:00000010 unicode
一个字符4个字节,占32位
A:00000000 00000001 00000010 00000010
中: utf-8
一个英文字符,8位
一个中文字符,占24位 gbk
A:一个字符,8位
中:一个中文字符,16位 1.各个编码2 进制不能识别,会产生乱码
2.文件的存储和传输不能是unicode

3.python中的bytes类型

'''
对于英文:
str:
表现形式: s = 'alex'
编码方式: 01010101 unicode
bytes:
表现形式: s = b'alex'
编码方式: 01010101 utf-8 gbk 对于中文:
str:
表现形式: s = '中国'
编码方式: 01010101 unicode
bytes:
表现形式: s = b'x\e91\e91\e01\e21\e31\e32' 3字节表示一个中文,utf-8;若2个字节1个汉字,gbk
编码方式: 01010101 utf-8 gbk '''
s1 = 'alex'
# 将 unicode 转换成utf-8 或gdk,表现形式是将str 转换成bytes,
# encode 编码,如何将str --> bytes,
s11 = s1.encode('utf-8')
print(s11)
上一篇:VUEX报 “was assigned to but it has no setter”


下一篇:python中,str和repr的区别