Python 中关于变量与地址的观点

>>> b = 5  
>>> a = 5  
>>> id(a)  
162334512  
>>> id(b)  
162334512  
>>> a is b  
True 

python自增操作:a = a + 1 或者 a += 1 在脚本式编程环境中没有问题。
但是在交互式环境中,编译器会有一个小整数池的概念,会把(-5,256)间的数预先创建好,而当a和b超过这个范围的时候,两个变量就会指向不同的对象了
,因此地址也会不一样,比如下例:

>>> a=1000
>>> b=1000
>>> id(a);id(b)
2236612366224
2236617350384
>>>

猜你喜欢

转载自blog.51cto.com/82711020/2326376