一.小数据池
目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建更多的对象
缓存:int,str,bool
int:缓存范围-5~256
str: 1.长度小于等于1,直接缓存
2.长度大于1.字符串中如果只有数字,字母,下划线,就会缓存
3.乘于1.同上,乘于大于1的数.仅包含数字,字母,下划线,最终长度小于20会缓存
4.使用sys模块中的intern()缓存字符串
代码块的关系:如果在同一个代码块中,默认的整数和字符串还有布尔值都会进行缓存,如果涉及计算,尊崇上面的规则,如果跨代码块,按照上面的规则执行
二.is和==的区别
is比较的是内存地址
==比较的是值
三.decode和encode
python3内存中使用的是unicode
unicode=>utf-8 encode("utf-8")
utf-8=>unicode decode("utf-8")
utf-8和gbk不能直接转换
bytes是字符串的另一种表示形式