内存分配

内存分配

a=2
b="a"
c=[1,2]

a,b,c分配在哪?
2,“a”,[1,2]都是对象,分配在哪?
不要按照C的思维来想考虑Python

这些都不需要你来考虑,py已经替你做好了,不需要单独开内存,也不需要释放内存
a=1
b=1
a is b的结果是真,为什么?1是一个数字对象,a和b是对这个对象的的两个不同的引用,为什么结果是真啊?
因为a和b定义的对象的实体都是1。所以他们是相等的哦
a=[1,2]
b=[1,2]
a is b的结果是假怎么解释啊?数字对象和列表对象都是内置对象啊!怎么结果会不同啊
这个简单啊,我这初学者都能给你解释。
a=[1,2]
b=[1,2]
a is b 应该指的是对象不是链表内容,不是一个对象所以结果是false,但是a == b结果应该是true。
如果 a=[1,2]
        b=a
那么a is b就应该是true了吧。
楼主的精神可加,支持.
我也奇呢.
引用一个解答.

a=10
b=10,
这里a,b都是对象

a = [1,2];
b= [1,2];
这里a,b都是引用!

继续解答

"" ="" 号的左边是引用,右边是分配堆
[1,2]是对象.所以分配堆

10是整型,不进行分配堆

这个明白了
在帮我解释一下六楼说的吧
如果 a=[1,2]
        b=a
那么a is b就应该是true了吧。