Python基础之小数据池及深浅拷贝
一、小数据池 == (等于) == 官方:判断等号两边的内容是否相同 白话:判断两个人长得是不是一样 is 官方:判断两边的内容是不是一个 白话:判断这两个人是不是一个人 a = 10000 b = 10000 print(a == b) is 是通过内存地址进行判断 print(id(a),id(b)) 输出结果 ,内存地址一致 代码块:一个py文件,一个函数,一个模块,一个类,交互模式(终端)下的每一行 先执行代码块,然后小数据池! 代码块机制内容:Python在执行同一个代码块的初始化对象的命令时,会检查是否其值是否已经存在,如果存在,会将其重用。换句话说:执行同一个代码块时,遇到初始化对象的命令时,他会将初始化的这个变量与值存储在一个字典中,在遇到新的变量时,会先在字典中查询记录,如果有同样的记录那么它会重复使用这个字典中的之前的这个值。所以在你给出的例子中,文件执行时(同一个代码块)会把i1、i2两个变量指向同一个对象, 满足缓存机制则他们在内存中只存在一个,即:id相同。 终端中测试的是小数据池缓存机制: 数字: -5 ~ 256 字符串: 定义时内容(除去中文,特殊符号)长度不限,内容相同,就进行驻留。 python 3. 6解释器字符串进行乘法时(不能有中文和特殊符号),总长度不能超过20 python 3. 7解释器字符串进行乘法时