zoukankan      html  css  js  c++  java
  • python中(id,is,==,)小数据池,代码块

    python中(id,is,==,)小数据池,代码块

    id, is, ==

    id是内存地址,利用id()内置函数去查询一个数据的内存地址
    is是判断两边的内存地址是否相等
    == 是比较的两边的数值是否相等。

    代码块

    python中真正意义的代码块是什么?

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

    def func():
        print(333)
    class A:
        name = 'alex'
    
    交互模式下,每一行是一个代码块。
    >>> i1 = 1000  可以理解为这一行在一个文件中。
    >>> i2 = 1000  可以理解为这一行在另一个文件中。
    

    小数据池

            前提:int,str,bool
            1,节省内存。
            2,提高性能和效率。
        小数据池是什么?
            在内存中,创建一个'池',提前存放了 -5 ~256 的整数,一定规则的字符串。
            后续程序中,如果设置的变量指向的是小数据池的内容,那么就不会再内存中重新创建。
        小数据池与代码块的关系。
            同一个代码块:python在执行时,遇到了初始化对象命令,他会将这个变量名和数值放到一个字典中,
            再次遇到他会从这字典中寻找。
            不同代码块:python在执行时,直接从小数据池中寻找,满足条件id相同。
    

    编码

    str --->bytes: encode
    bytes--->str: decode

     python3x:
    
                英文:
                    str: 表现形式:s1 = 'alex'
                         内部编码方式: unicode
    
                    bytes:表现形式:s1 = b'alex'
                         内部编码方式: 非unicode
                中文:
                    str: 表现形式:s1 = '太白'
                         内部编码方式: unicode
    
                    bytes:表现形式:s1 = b'xe2xe2xe2xe2xe2xe2'
                         内部编码方式: 非unicode
            只有当你想要存储一些内容到文件中,或者通过网络传输时,才要用的bytes类型
    
    
  • 相关阅读:
    C++之STL一般总结
    QT学习第2天
    Linux下Awk详解(转载)
    Mac下开启FTPserver
    Mac下QT错误,Xcode配置解决办法
    C++之STL
    关于Java自动拆箱装箱中的缓存问题
    二分查找
    冒泡排序及优化
    Java中String常用方法总结
  • 原文地址:https://www.cnblogs.com/lanhoo/p/9508218.html
Copyright © 2011-2022 走看看