1.is 比较的是内存地址
a="name" b="snow" print(a is b) # False
id() 获取内存地址
a="123" print(id(a)) # 37601664
== 比较两边的值
a="12" b="32" print(a == b) # False
2.小数据池
a. 数字小数据池的范围是 -5~256
a=-6 b=-6 print(a is b) # False
b.字符串中如果有特殊字符,他们的内存地址就不一样. 在终端中不一样,但在pycharm中,则会输出True
例如:在pycharm中
a="name%" b="name%" print(a is b) # True
在终端中
c.字符串中单个*20以内他们的内存地址一样,单个*21以上他们的内存地址不一样
3.编码和解码
ASCII 码 : 最早的编码,至今还在使用,8位一个字节,不支持中文,支持英文,数字,符号
GBK 国标码 16位两个字节
unicode 万国码 32位4个字节
UTF-8 可变长度的unicode,英文是8位1个字节:欧洲文字是16位两个字节:汉字是24位3个字节
python3中,程序运行阶段中,使用的unicode,显示所有的内容
bytes类型
传输和存储过程中都使用bytes
pycharm中存储默认使用的是utf-8
编码
encode(编码方式)---------拿到明文编码后对应的字节
decode(编码方式)---------将编码后的字节解码成所对应的明文