需特别注意的地方(关于内存机制)
1、is和==的区别

is是比较内存地址是否一致,==是比较值是否一致。
2、赋值时是在内存中开辟一个区域,而修改地址中的元素,指向同一个地址的变量都会改变。
赋值:

修改元素地址:

但是python的有个特殊的地方,会把常用的数字和字符串,放到一个缓存区域,即使重新赋值也不会改变内存地址。
数字的范围是-5~256,超过这个范围才会重新开辟内存地址。
字符串要字母+符号*3以上才会重新开辟内存地址。

1、is和==的区别

is是比较内存地址是否一致,==是比较值是否一致。
2、赋值时是在内存中开辟一个区域,而修改地址中的元素,指向同一个地址的变量都会改变。
赋值:

修改元素地址:

但是python的有个特殊的地方,会把常用的数字和字符串,放到一个缓存区域,即使重新赋值也不会改变内存地址。
数字的范围是-5~256,超过这个范围才会重新开辟内存地址。
字符串要字母+符号*3以上才会重新开辟内存地址。
