编程语言
首页 > 编程语言> > Python基础篇 -- 小数据池和再谈编码

Python基础篇 -- 小数据池和再谈编码

作者:互联网

小数据池

1. id()

通过id()可以查看到一个变量表示的值在内存中的地址

s = "Agoni"
print(id(s))
# 2410961093272

2. is 和 ==

== 判断左右两端的值是否相等,是不是一致

is 判断左右两端的内存地址是否一致,如果返回True 可以确定这两个变量使用的是同一个对象

在Python中,默认会把数字, 字符串, 布尔值进行缓存

1. 当我们在控制台时(CMD) #按照这个记

2. py文件里

​ py文件里,一个代码块内部, 只会缓存 int str bool .也有自己的小 数据池, 缓存范围回避外面的代码块的数据池大

1. 数字. 基本上都会缓存  运算结果不缓存( -5~256  会缓存)
  1. 字符串. 默认的字符串都缓存 如果有乘法 遵循上方的结论
  2. 布尔值. 默认缓存

再谈编码

在Python2里面 默认的编码是ASCII

在Python3中 UNICODE 是可以使用的, 默认用的就是UNICODE, 代码用UTF-8 来存储

  1. 编码? 把UNICODE 转换成UTF-8

    s = "未来可期"
    a = s.encode("UTF-8")  # encode 之后的结果是bytes类型   依然是原来的字符串
    print(a)    # 打印结果 b'数据'
    # b'\xe6\x9c\xaa\xe6\x9d\xa5\xe5\x8f\xaf\xe6\x9c\x9f'    \x  表示是16进制
    
  2. 解码

    a = b'\xe6\x9c\xaa\xe6\x9d\xa5\xe5\x8f\xaf\xe6\x9c\x9f'
    s = a.decode("UTF-8")
    print(s)
    # 打印结果 未来可期

    GBK 不能用UTF-8 解码 , 必须用GBK解码 解码之后是UNICODE

标签:编码,缓存,UTF,Python,默认,xe6,x9c,字符串,数据
来源: https://www.cnblogs.com/Agoni-7/p/10994660.html