0.编码解码
>encode和decode
a = "你好"
s = a.encode("GBK")
print(s)
# b'xc4xe3xbaxc3' 每一个x是一个字节,每一个GBK占16bit,2个bytes,那么两个中文就是4个bytes,验证成功
s1 = a.encode("UTf-8")
print(s1)
# b'xe4xbdxa0xe5xa5xbd' 每一个x是一个字节,每一个UTF-8中文占24bit,3个bytes,那么两个中文就是6个bytes,验证成功
b = "hello"
b1 = b.encode("utf-8")
print(b1)
# b'hello' 在编解码英文时,不会换成16进制,会直接传输
b2 = b.encode("gbk")
print(b2)
# b'hello'
c = b'xe4xbdxa0xe5xa5xbd' # 解码,
c1 = c.decode("utf-8")
print(c1)
# 你好
1.is和==的区别
is和==
# == 双等表⽰示的是判断是否相等, 注意. 这个双等比较的是具体的值.⽽而不是内存地址
# is 比较的是数据存储在内存中的地址
id
aaa = "hello,world"
bbb = "hello,world"
print(id(aaa))
# 31339568
print(id(bbb)
# 31339568 #返回的是同一个id,证明在内存中两个变量指向了同一个数据,这个就是针对字符串特有的小数据池
lst = [1, 2, 4]
print(id(lst))
# 34747400
lst1 = [1, 2, 4]
print(id(lst1))
# 34747464
# 虽然两个列表的值是一样的,但是列表是不一样的, 两个列表中的值都是相同的指向