python内存判断机制
is 判断两个object 在内存里面是不是一个东西
== 判断两个object是不是相等
int x =1 int y =1 那么 x == y,但是他们在内存里面是独立的数据,所以 x is not y
但是当int x = 1, int x = y时,x is y,因为他们指向同一处内存里面的数据
这是python里面的判断机制
如截图, x 和 y 都指向1,但是python 只在内存里面给1分配了一个固定的内存,所以x is y,这是语言层面的优化。
使用tuple的安全之处在于会保证两个tuple不会被分配到一块内存
除非你明确指定两个变量指向同一块内存
而且如果你操作了其中一个变量,修改了tuple值,那么这个修改会导致python给你重新分配一块内存,保存一个全新的tuple,
而不用担心xxx那个变量有什么变化
xxx还指向原来的tuple所在内存位置
而ttt指向一个全新的tuple