• 代码块


    什么是代码块

      在python中代码块指的是

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

      而在用户交互里面,就是cmd中进入python解释器例,每一行代码就是一个代码块.

    is

      is 是比较的两边的内存地址是否相等

    ==

      比较俩边的数值是否相等

    id

      指内存地址,利用id()内置函数去查询一个数据的内存地址

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

      是python对内存做的一个优化,对一些常用的数字(整数-5~256),一定规律的字符串提前创建一个小数据池(容器),

      优点:节省内存,在内存级别提高性能与效率,常用的字符串可以直接从小数据池中提用

      缺点:在“池”中创建或插入字符串,整数时,会“相对”花费更多的时间

      int:

        在小数据池中保存的有(-5~256)之间的整数,即之间从小数据池中调用

      str:

      1.对于字符串是ASCII码中的,默认采用小数据池(驻留机制)

        注意:字符串的内容不包括中文,字符串中含有特殊字符的话长度(字符串的长度)只能是1才是True,

      2.对于乘法,如果a = "afhjdhsaflh***"   b = a *1     print(a is b)     输出都是True,即都默认采用驻留机制

         如果是乘于2以上的  即a = "aslfj"*4  b = "aslfj"*4   总长度必须在20以内才是默认采用驻留机制

      指定驻留

    from sys import intern
    a = intern('hello!@'*20)
    b = intern('hello!@'*20)
    print(a is b)
    #指定驻留是你可以指定任意的字符串加入到小数据池中,让其只在内存中创建一个对象,多个变量都是指向这一个字符串。

      bool

        布尔值始终保存在小数据池内

    编码升级

      不同编码直接不可以直接识别,都是进过转化才可以识别的

      网络传输和存储:由于Unicode太占用内存,所以必须以非Unicode的编码进行网络传输或者存储

      在大环境python3x中

        str:字符串的编码是Unicode

        其余都是utf-8

      所以引入了bytes的数据类型概念

      ytes类型和字符串类型是类似关系,字符串类型的内置函数在bytes类型都可以使用。

    而区别是bytes类型没办法以b'中文字符串'的类型存储中文数据,只有字符串可以,并且bytes类型的内存编码方式不是Unicode,所以当字符串需要进行网络传输和存储时必须进行编码,就是把Unicode->其他编码方式进行操作。
    编码及解码:
    str->bytes encode 编码
    bytes->str decode 解码

      

  • 相关阅读:
    基于keepalived搭建MySQL的高可用集群
    weblogic启动问题
    wind7下搭建ftp服务器
    数据库连接数使用情况监控
    windows下自动删除n天前的文件
    oracle RAC调整数据文件大小并移动表到指定的表空间
    oracle表空间使用情况查询
    vue的.vue文件是怎么run起来的(vue-loader)
    react router @4 和 vue路由 详解(七)react路由守卫
    react router @4 和 vue路由 详解(六)vue怎么通过路由传参?
  • 原文地址:https://www.cnblogs.com/yuncong/p/9449906.html
Copyright © 2020-2023  润新知