day_06 再谈编码
1. 小数据池(常量池) 1.id() 通过id()查询一个变量在内存中的地址 2.is和== 1.is 判断左右两端内存地址是否一致,如果返回值是TRUE,则可以判断这两个变量值是同一对象 2.== 判断左右两端值是否相等,一致 可以这样认为,如果内存地址相等,那么值是相等的,值相等却不一定是同一值.
2.小数据池的作用: 一种数据缓存机制,也被成为驻留机制 1.小数据池只针对;整数,字符串,布尔值,其他数据类型不具有驻留机制 1.对于数字-5~256是会被加到小数据池中,每次使用的是同一对象 2.对于字符串 1.字符串长度大于1,但是字符串中只包含数字没字母下划线才会被缓存 2.字符串的长度是0或者1都会默认进行缓存 3.乘法的到的字符串. ①. 乘数为1, 仅包含数字, 字母, 下划线时会被缓存. 如果 包含其他字符, 长度<=1 也会被驻存, ②. 乘数<于1 . 仅包含数字, 字母, 下划 线这个时候会被缓存. 但字符串长度不能大于20 4. 指定驻留. 我们可以通过sys模块中的intern()函数来指定要驻留的内容
3. 编码的补充 1.python2中默认使用的ASCII码, 2.python3中默认使用的是unicode码 unicode太长,不适合储存,适合计算,utf-8适合储存,运输 3.ASCII码 字母,数字,特殊字符,8bit=1byte 4.GBK 16bit=2byte 5.unicode 32bit=4byte 6.utf-8 可变长度的unicode 英文:8bit=1byte 欧洲文字:16bit=2byte 中文:24bit=3byte 字符串的传输: s.encode("编码格式") 进行编码 编码的文件.decode("解码格式") 进行解码,结果是字符串 bytes是python中的最小数据单元 数据传输中。包括文字。 图片。 视频都是bytes