Python学习之路第五天

小数据池(一种规则)

支持类型 - int,str,bool

数字:在做乘法的时候范围 -5~256****
数字在做乘法的时候不能使用浮点数
字符串:在同一个代码块下,只要内容相同就采用相同的内存地址
乘法的时候总长度不能超过20
*
乘法的时候中文,特殊符号乘以0
布尔值:在同一个代码块下,只要内容相同就采用相同的内存地址
~小数据池额验证方法~
必须脱离代码块才能进行验证
限制性代码块的规则,在执行小数据的规则---(驻留机制)

代码块(一个文件,一个函数,一个类,一个模块,终端中的每一行)

支持类型 - int,str,bool

数字:在同一个代码块下,只要内容相同就采用相同的内存地址(-5以后就不是)
在做乘法的时候范围 -5~256
数字在做乘法的时候不能使用浮点数**
字符串:在同一个代码块下,只要内容相同就采用相同的内存地址
乘法的时候总长度不能超过20
乘法的时候中文,特殊符号乘以1和0
布尔值: 在同一个代码块下,只要内容相同就采用相同的内存地址

  1. 数字:全部驻留
  2. 字符串:
    • 做乘法时的时候总长度不能超过20
    • 自定义的都驻留
    • 乘数为1的时候就是赋值
    • python3.7乘法的时候总长不能超过4096

方法

id 查看内存地址

is 判断内存地址是否相同  ***

== 判断值是否相同  ***



内存地址相同,值一定相同

值相同,内存地址不一定相同

深浅拷贝

赋值

多个变量指向的同一个内存地址(相当于贴标签)一个变量对其进行操作,其他变量都会进行变动

浅拷贝

浅拷贝的时候,只会开辟一个新的容器列表,其他元素是用的都是原列表中的元素
只拷贝第一层元素,在修改第一层元素(不可变数据类型)的时候,拷贝出来的新列表不进行改变
               在修改第一层元素(可变的数据类型)的时候,拷贝出来的新列表改变
               在修改第一层元素中的元素(可变的数据类型)时候,拷贝出来的新列表进行改变
在修改新拷贝的列表中可变数据类型进行增删改查的时候,原列表进行够改变

深拷贝

全部拷贝 -- 不可变数据类型指向是原数据的内存地址,

可变数据类型开辟新的空间,空间里的值是不可变的数据类型进行公用,可变的在次开启一个新的空间

猜你喜欢

转载自www.cnblogs.com/ly0123/p/11907013.html