怎么在python中为变量开辟内存

  介绍

本篇文章给大家分享的是有关怎么在python中为变量开辟内存,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>首先大家需要了解一点:在python中:

x=5之后,我们要了解它的过程:系统先是找了一块内存,将5存储了进去,紧接着x指向了当前的这块内存

预测1:python下的变量是一个指针

在祝辞祝辞,x =, 4,   在祝辞祝辞,y =, 5,   在祝辞祝辞,print  x    4,   在祝辞祝辞,print  y    5,   在祝辞祝辞,id (x),   10413988,   在祝辞祝辞,id (y),   10413976,   在祝辞祝辞,x =, y    在祝辞祝辞,id (x),   10413976,   在祝辞祝辞,id (y),   10413976,   祝辞祝辞祝辞

<强>从上面我们可以看到:

x=4

说明x指向了内存中存储为4的那个地址,那个地址是10413988

y=5

说明y指向了内存中存储为5的那个地址,那个地址是10413976

怎么在python中为变量开辟内存

也就是说在执行x=4, y=5之后,x, y分别指向了不同的地址,当执行x=y之后:

怎么在python中为变量开辟内存

也就是说,x指向了y所指向的内存了,这里我们知道,它们都指向同一块内存

哈哈,原来跟c里面的指针真的一样哎! ! !哈哈哈

(但是,但是,但是:就这些吗? ?)

在祝辞祝辞,x =, 4,   在祝辞祝辞,print  x    4,   在祝辞祝辞,id (x),   10413988,   在祝辞祝辞,x =, 5,   在祝辞祝辞,print  x    5,   在祝辞祝辞,id (x),   10413976,   祝辞祝辞祝辞

好,我们大家接着看:

怎么在python中为变量开辟内存

也就是说:开始的时候,x指向了10413988这块内存,里面存储的是4

当执行了x=5之后,也就变成了这样:

怎么在python中为变量开辟内存

好,好的就是这样了,

<强>不知道大家注意到了吗?

在python中,一开始初始化存储在内存的东西是不可以更改的,我们所能更改的只是它的指向,

但是,但是,在c中,对于int x=4,也就是说x的地址是定的,里面存储的东西可以更改

# include  & lt; stdio.h>,   ,   int  main () {,=,int  x  4,,   ,printf (“% p  % d \ n",,, x, x),,=,x  5,,   ,printf (“% p  % d \ n",,, x, x),,   ,,   ,return  0;   }

我们大家再看一下运行结果:

怎么在python中为变量开辟内存

从上面可以看的到,地址并没有变,好了,这一点,python和c的区别较大,希望大家注意。

<强>二:内存大小

我们来看一下这样的代码:

在祝辞祝辞,x =, 6,   在祝辞祝辞,id (x),   10413964,   在祝辞祝辞,y =, 7,   在祝辞祝辞,id (y),   10413952,   在祝辞祝辞,z =, 8,   在祝辞祝辞,id (z),   10413940,   祝辞祝辞祝辞

从上面的程序中,我们知道系统给分配的地址分别是:

10413964   10413952   10413940

所以我们大胆推测,python中应该给这些整数的字节有可能就是12(哈哈,纯属个人推测)

有可能内存中就是这样了的:

怎么在python中为变量开辟内存

哈哈,也该就是这样子了,至于其他的大小,有兴趣的朋友可以研究研究

<强>三:python内存

是不是说:在python中,系统将每一个值都放在了一个固定的位置,不然为什么,每一次探究内存地址的时候,结果都是一样的(数值相等,地址也相等)

在祝辞祝辞,x =, 4,   在祝辞祝辞,y =, 5,   在祝辞祝辞,id (x),   10413988,   在祝辞祝辞,id (y),   10413976,   祝辞祝辞祝辞

假如系统为4分配了一块内存,遵循某种规则(类似于c里面的内存对齐),那么接下来为5分配了另一块内存,权且分配到了10413976

怎么在python中为变量开辟内存