【发布时间】:2014-12-04 11:13:36
【问题描述】:
所以我在 python 中尝试了一些东西,碰巧遇到了这个:
>>> a = 10
>>> b = 10
>>> a is b
True
显然,在创建变量b 时,Python 注意到已经存在另一个(不同的)变量,其值为 10,并简单地创建了对它的引用(可能只是为了节省内存?)。由于整数是不可变的(至少我认为它们是不可变的),所以它具有某种意义。
但后来我用更大的数字尝试了同样的事情并得到了这个:
>>> a = 100200103847239642631982367
>>> b = 100200103847239642631982367
>>> a is b
False
在这里,出于某种原因,Python 似乎创建了另一个 int 对象,而不是使变量 b 成为对变量 a 的引用,这对我来说没有意义。假设在第一个示例中创建引用的原因是为了节省内存,那么在后一种情况下创建引用是否会更有效,因为数字更大?
【问题讨论】:
标签: python variables reference