python 小数据池,代码块总览

一、python中真正的代码块是什么?

  1、 一个模块,一个函数,一个文 件,一个类都是一个代码块

    在交互模式下,每一行是一个代码块

    >>>i1 = 100   #可以理解为这一行在一个文件中

    >>>i2 = 23

  2、id(name)  在内存中id都是唯一的,如果两个变量指向的值id的值是相同的,就证明它们所在的内存是同一个

  3、is判断两个变量的id的值是否相同,

  4、小数据池:缓存机制,驻留机制

    1、  小数据池,Python对内存的一种优化

      它将-5到256的整数,以及一定规则的字符串,提前在内存中建了池,容器里固定放了这些数

    2、 节省内存,提高性能和效率

    3、 小数据池的应用数据类型:整型,字符串,bool

 

二、代码块

  1、  python在同一个代码块中的变量,初始化对象的命令时,它会将变量与值的关系放到一个字典中,如果下面的代码在遇到初始化对象的命令,它会优先从

    字典中查找,如果存在相同的值,将会复用

  2、 python对于不同的代码块,初始化对象的命令时,它会从小数据池中查找

 

三、编码

  1、编码之间不能互相识别

  2、网络传输,或者文件的存储,必须是以非unicode的编码方式存储,传输

  大环境下:python3x

    str:内存(内部)编码方式为unicode

    bytes:python的基础数据类型之一,str拥有的所有方法,它都适用

  区别:

    英文字母:

      str:

      表现形式:s = 'alex'

      内部编码方式:unicode

      bytes:

      表现形式:s = b'alex'

      内部编码方式:非unicode

    中文:

      str:

      表现形式:s = '太白'

      内部编码方式:unicode

      bytes:

      表现形式:s = b'\xe5\xa4\xaa\xe7\x99\xbd'

      内部形式:非unicode

    str--->bytes

      encode('utf-8')  encode('gbk')

    bytes--->str

      decode('utf-8')  decode('gbk')  

 

posted on 2018-08-09 16:27  旧巷子里的猫  阅读(157)  评论(0编辑  收藏  举报