小白成长之路(8)--(python)变量数据存储

来源:互联网 发布:c 数据采集 编辑:程序博客网 时间:2024/06/05 03:32

在python当中,变量的数据存储有一个非常有特色的地方:

(1)、首先我们在DOS命令下打开python;
定义一个变量a,向a赋值一个255的对象;
再定义一个变量b,向b赋值一个255的对象;
按照道理来说,在内存中会新建两个地址分别用于存放两个255对象,那么a和b指向的地址必然不会相同;
所以我们在这里调用python中的“id()”这个函数来获取a和b所指向的地址。

运行如下图:
这里写图片描述

大家可以看到,id(a)所输出的地址是:1622075152,而id(b)输出的地址也是:1622075152,两个255对象地址相同。
而上图中我也测试了当对象为256时,a和b的地址也相同。
但是,当我将对象设置成257时,两个对象的地址不一致了。

PS:原来,python提前将0-256存放在内存之中,当我们使用0-256内的数值时,变量会直接指向这些数,而不再在内存中创建新的空间。

(2)、既然int类型这样,那其他类型呢?
我同样尝试string类型。

运行如下图:
这里写图片描述

同样,我将smoking对象分别赋值给变量a和b,得出来的id(a)和id(b)的地址相同;
但是我将一串长长的网址对象赋值分别赋值给a和b,得出来的地址却不相同;

PS:同样,python提前存放了一些短字符串,为内存的节省做出了一定的贡献。当然,长字符串还是会新建内存的

(3)、提出问题:
这个现象在编辑器上是不存的(如下两张图),你能说出原因吗?
这里写图片描述

这里写图片描述

原创粉丝点击