小数据池与 内存的ID 储存和编码

1:查询内存的ID地址

a= 'Tony'

print(id(a))

 

 

w = [1,2,3]

print(id(w))

 

最终数出的结果是一组查询到的内存储存地址

 #1. is 判断的是内存地址
lis = 'php'
lis2 = 'php'
print(lis == lis2 )
#如果历史与 lis2 元素一样的话 相比较出来的就是True

print(lis is lis2)
#如果lis1 与 lis 相比较内存地址答案是的出来都一样

#2.python中的小数据池
#1.int str 小数据池
#2.int最小比较是-5 到256

#3.STR 如果是全部由字母组成的字符串,都是指向了一个内存地址
#如果是数字与str相乘,则20以内的都是指向同一个内存地址

############编码的进阶与补充,
#Uncode(万国码)
##最少就保存16油耗
# A:中文因为都是32位常用的多b

#1升级后的Utf-8: =用最少8位表示一个字符
'''
A={'0000 0001 8位'}
欧洲:0000 0001 0000 0001 16位 用 16个位表示用了2位
亚洲 中:0000 0101 0000 0001 0000 0001 24位用utf-8 = 24位 一个字符用3个字节表示

gbk :国标
a = 8个位 一个字节

中 字= 16位 2个字节
1.不同的编码之间是不能互相识别对方的二进制, 会报错或者乱码

2.在你的字符串(文件)储存 或者传输的时候 必须用非 unicode 的二进制(01010101).

python3中
in :byte
对于 非中文:表现形式 b'Tony'
内容编码: utf -8 gbk ,gb 2312.....非(unicode)

对于中文:表现形式 b'xe3\xf2\x36\xe3\xf2\x36\'
内部编码: utf-8 gbk,gb2312...(非unicode) 你设定的.

str:
d对于非中文:表现形式: 'Tony'

内部编码:unicode
对于中文:表现形式:'中国'
内容编码:unicode

 

posted @ 2018-01-29 21:27  胸不平$怎平天下  阅读(138)  评论(0编辑  收藏  举报