小数据池和编码问题

1.小数据池 ===> 为了快 避免重复创建
  1.代码块
  每次运行的一个单元 函数/类/command交互命令
  eval()
  2.is 和 ==
    内存地址 id(变量名)
    内存的开辟是由解释器决定的
    is比较的是内存地址
    == 判断值是否相等(我们一直在用)
    在python里面,默认会把数字、字符串、bool
    进行缓存,这样不需要重复创建,处理速度快
    必须是不可变的

  
  1.当我们在控制台的时候 代码块与代码块之间的规则
    1.整数缓存的范围是[-5,256]
    2.字符串
      1.长度为0或者1
      2.长度大于1,只由数字、字母、下划线
      3.乘法得到的字符串:
        1.乘数为1
        2.不是1 最终长度不超过20
    3.bool
    4.sys
  2. py文件里面.一个代码块内部
    int,str,bool
    1.数字都会缓存 运算结果在[-5,256]缓存
    2.字符串 默认的字符都会缓存 乘法遵循上面的
    3.bool 默认缓存
2.is和==的区别
3.decode和encode
  1.ASCII 8b
  2.GBK 16b
  3.UNICODE 32b
  4.utf-8 可变长度的Unicode
    英文 8b
    欧洲文字 16b
    中文 24b
    GBK和UTF-8 不能直接互换(必须通过万国码来进行转换)
    在python2里面,默认的编码是ASCII
    python3里面Unicode是可以使用的。默认用的是Unicode
    代码用的utf-8

posted @ 2019-03-21 10:37  Jonathan1  阅读(117)  评论(0编辑  收藏  举报