zoukankan      html  css  js  c++  java
  • python小数据池

    id,is,== 的含义

    id是内存地址,那就有人问了,什么是内存地址呢? 你只要创建一个数据(对象)那么都会在内存中开辟一个空间,将这个数据临时加在到内存中,那么这个空间是有一个唯一标识的,就好比是身份证号,标识这个空间的叫做内存地址,也就是这个数据(对象)的id,那么你可以利用id()去获取这个数据的内存地址:

    name = 'Jerry'
    print(id(name))
    

    is 是什么? == 又是什么?

    == 是比较的两边的数值是否相等,而 is 是比较的两边的内存地址是否相等。
    

    关于代码块的认识

    Python程序是由代码块构造的。块是一个python程序的文本,他是作为一个单元执行的。
    代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块。

    代码块的缓存机制

    Python在执行同一个代码块的初始化对象的命令时,会检查是否其值是否已经存在,如果存在,会将其重用。

    小数据池

    小数据池,不同代码块的缓存机制,也称为小整数缓存机制,或者称为驻留机制。

    Python自动将-5~256的整数进行了缓存,当你将这些整数赋值给变量时,并不会重新创建对象,而是使用已经创建好的缓存对象。
    
    python会将一定规则的字符串在字符串驻留池中,创建一份,当你将这些字符串赋值给变量时,并不会重新创建对象, 而是使用在字符串驻留池中创建好的对象。
    
    其实,无论是缓存还是字符串驻留池,都是python做的一个优化,就是将~5-256的整数,和一定规则的字符串,放在一个‘池’(容器,或者字典)中,无论程序中那些变量指向这些范围内的整数或者字符串,那么他直接在这个‘池’中引用,言外之意,就是内存中之创建一个。
    
  • 相关阅读:
    模拟tap事件和longTap事件
    jquery工具方法总结
    outline:0与outline:none区别
    babel吐槽
    兼容ie8 rgba()写法
    git删除文件夹
    css简写总结
    回调函数实例—(二)
    回调函数的那些事儿(转载)
    回调函数好文章汇总
  • 原文地址:https://www.cnblogs.com/lvtaohome/p/12642620.html
Copyright © 2011-2022 走看看