Python——基础数据类型(补充)
2021-06-30 20:06
标签:type inf ascii 大于 char code 中文 内存 数据 为了节省空间,数字和字符串有,其他的没有【了解】 数字:-5---256之间的数字共用一个内存地址 字符串: 不能含有特殊字符,aa和aa地址相同,aa+和aa+地址不同 单个字符*数字(
A:00000010 8位 一个字节 A:00000000 00000001 00000010 00000100 32位 四个字节 中:00000000 00000001 00000010 00000110 32位 四个字节 A:00100000 8位 一个字节 中:00000001 00000010 00000110 24位 三个字节 A:00000110 8位 一个字节 str进行存储和传输之前,需要先将str(Unicode)转换成bytes(utf-8/gbk),再进行传输 str 在内存中是用Unicode编码的 对于英文: encode:编码Unicode--->gbk/utf-8,如何将str--->bytes(可以设置编码方式) (1)= : 赋值 Python——基础数据类型(补充) 标签:type inf ascii 大于 char code 中文 内存 数据 原文地址:https://www.cnblogs.com/xc-718/p/9640655.html1.基础数据类型汇总补充
(1)小数据池:
#(1)i1 = i2 id(i1) == id(i2)
i1 = 6
i2 = 6
print(id(i1),id(i2)) #id(i1)=1436311936 id(i2)=1436311936
#(2)i1 = i2 id(i1) != id(i2)
i3 = 300
i4 = 300
print(id(i1),id(i2)) #id(i1)=1683866035312,id(i2)=1683866623792
(2)列表 list
(3)str和bytes区别
s = ‘alex‘s1 = b‘alex‘print(s,type(s)) #alex
2. 编码
(1)ascii---python2
(2)unicode
(3)utf-8---python3
(4)gbk---终端
中:00000010 00000110 16位 两个字节
各个编码之间的二进制不能互相识别,会产生乱码。
文件的储存和传输不能是Unicode(只能是utf-8,utf-16,gbk,gbk2312,ascii等) (5)Python3中的编码
bytes 和str很相似,唯一区别是编码方式不同
str: 表现形式:s = ‘alex‘
编码方式:010101010 Unicode
bytes:表现形式:s = b‘alex‘
编码方式:000101010 utf-8 gbk...
对于英文:
str: 表现形式:s = ‘中国‘
编码方式:010101010 Unicode
bytes:表现形式:s = b‘x\e91\e91\e01\e21\e31\e32‘
编码方式:000101010 utf-8# (1)英文
s1 = ‘alex‘
s11 = s1.encode(‘utf-8‘)
print(s11) #b‘alex‘
s11 = s1.encode(‘gbk‘)
print(s11) #b‘alex‘
# (2)中文
s2 = ‘中国‘
s22 = s2.encode(‘utf-8‘) #24位,3个字节,表示一个字符
print(s22) #b‘\xe4\xb8\xad\xe5\x9b\xbd‘
s22 = s2.encode(‘gbk‘) #16位,2个字节,表示一个字符
print(s22) #b‘\xd6\xd0\xb9\xfa‘
3. =、==、is、id
(2)==:比较-----值是否相等
(3)is :比较-----内存地址
(4)id : 内存地址
下一篇:Python——字符串操作方法