您的位置:首页 > 编程语言 > Python开发

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

2017-11-03 22:33 190 查看
在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)、提出问题:

这个现象在编辑器上是不存的(如下两张图),你能说出原因吗?





4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: