• python全栈day6


    一. is == id


      1)一个等于是赋值运算
      2)两个等于是比较运算,比较的是数值相同
      3)id()是一个元素的内存地址,在内存中ID都是唯一的,如果两个变量指向的id值相同,证明他们在内存中就是同一个值
      4)is 用于判断两边元素的id值是否一样,如果is是True,那么==肯定是True。


    二. 代码块


    Python中真正定义的代码块,是一个Python的文本,代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块
    在交互界面(cmd)每一行都是一个代码块。


    三. 小数据池(缓存机制,驻留机制)


    小数据池是Python对内存做的一个优化。它将-5~256的整数,以及一定规则的字符串,提前在内存中创建了个池,容器里固定的放了这些数。

    小数据池内只包含英文字母,数字及特殊字符组成的值。
      目的:
      1.节省内存
      2.在内存级别提高性能与效率
      分类以及范围:
      1.int:-5~256
      2.str:
        字符串长度为0 or 1,默认采用小数据池(中文字符串不算在内)
        字符串长度大于1,只有在字符串内只包含数字字母下划线时,默认采用小数据池
      3.bool
        布尔值始终保存在小数据池内
      补充:
       如果在一个代码块内,多次出现初始变量赋值的情况时,如果值没有在小数据池内,在这个时候内存会以一个字典的形式,将变量名和值对应起来,如果下次初始变量赋值时,若小数据池内没有该值的内存地址,就会查询这个类似字典的容器,如果可以找到该值,那么新变量名也会指向这个内存地址,否则创建一个新的内存地址,并将对应关系存在类似字典的容器中。


    四. 编码升级


      1.不同编码之间不能互相识别
      2.网络传输,或者硬盘传输的010101,必须是以非Unicode的编码方式的010101传输或者存储。

      大环境Python3x:
       str:内存(内部)编码方式为Unicode
       其余的类型:内存编码方式都是utf-8
      引入bytes数据类型的概念
       bytes类型和字符串类型是类似关系,字符串类型的内置函数在bytes类型都可以使用。
       而区别是bytes类型没办法以b'中文字符串'的类型存储中文数据,只有字符串可以,并且bytes类型的内存编码方式不是Unicode,所以当字符串需要进行网络传输和存储时必须进行编码,就是把Unicode->其他编码方式进行操作。
      编码及解码:
       str->bytes encode 编码
       bytes->str decode 解码

  • 相关阅读:
    ios 手势加变形
    ios 懒加载
    [leetCode]1111. 有效括号的嵌套深度
    [leetCode]面试题 08.07. 无重复字符串的排列组合
    [leetCode]46. 全排列
    [leetCode]37. 解数独
    [leetCode]面试题 08.09. 括号
    torch.Tensor 与 numpy.ndarray的相互转化
    [leetCode]93. 复原IP地址
    [leetCode]15. 三数之和
  • 原文地址:https://www.cnblogs.com/abner28/p/9449041.html
Copyright © 2020-2023  润新知