is 和 == 以及 编码和解码

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(编码方式)---------将编码后的字节解码成所对应的明文

原文地址:https://www.cnblogs.com/sypx/p/9407617.html