Python基础--isid
Posted dzc18
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础--isid相关的知识,希望对你有一定的参考价值。
= 赋值 == 比较值是否相等 is 比较,比较的是内存地址 id(内容)
li1 = [1,2,3]
li2 = li1
li3 = li2
print(id(li1),id(li2))
数字,字符串 小数据池
数字的范围 -5 -- 256
字符串:1,不能有特殊字符
2,s*20 还是同一个地址,s*21以后都是两个地址
i1 = 6
i2 = 6
print(id(i1),id(i2))
i1 = 300
i2 = 300
print(id(i1),id(i2))
#剩下的 list dict tuple set 没有小数据池概念
# l1 = [1,]
# l2 = [1,]
# print(l1 is l2)
编码进阶
ascii: A : 00000010 8位 一个字节
unicode A : 00000000 00000001 00000010 00000100 32位 四个字节
中:00000000 00000001 00000010 00000110 32位 四个字节
utf-8 A : 00100000 8位 一个字节
中 : 00000001 00000010 00000110 24位 三个字节
gbk A : 00000110 8位 一个字节
中 : 00000010 00000110 16位 两个字节
1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk gb2312 ascii等)
Python 3:
str 在内存中是用unicode编码。
bytes类型
对于英文:
str :表现形式:s = ‘alex‘
编码方式: 010101010 unicode
bytes :表现形式:s = b‘alex‘
编码方式: 000101010 utf-8 gbk。。。。
对于中文:
str :表现形式:s = ‘中国‘
编码方式: 010101010 unicode
bytes :表现形式:s = b‘xe91e91e01e21e31e32‘
编码方式: 000101010 utf-8 gbk。。。。
以上是关于Python基础--isid的主要内容,如果未能解决你的问题,请参考以下文章