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'\xe2\xe2\xe2\xe2\xe2\xe2'
                     内部编码方式: 非unicode
        只有当你想要存储一些内容到文件中,或者通过网络传输时,才要用的bytes类型

猜你喜欢

转载自www.cnblogs.com/lanhoo/p/9508218.html