众所周知,Python是一种动态类型语言。我是来从Java学习Python的,我一直在想的是,在Java中,我们做变量赋值,
int testVariable = 5;一旦执行了上述代码,Java就会分配一个内存位置,该位置能够保存类型的整数的值,并将其称为testVariable。因此,当我们更改变量的值时,java只更新testVariable的值,而不需要更改变量的类型,因为我们不能将字符串赋值给int。因此,在相同的内存位置中,只更新值。
那么,假设我们在Python中执行以下操作,
myVariable = 5现在,由于这里的值是5,值的类型是int,Python创建了一个可以保存int类型值的内存位置,并将值(在本例中为5)存储在该内存位置。
然后,我可以将变量名'myVariable‘绑定到一个字符串类型如下的值,
myVariable = 'Test String'因此,是否会将之前保存值5的内存位置移动到适合保存字符串值的其他地方(因为第一个位置适合保存整数,而不是字符串),并给这个新的内存位置命名为myVariable?或者,python只是修改存储整数值的内存位置,以便现在可以保存字符串值吗?
请把这件事弄清楚。谢谢。
发布于 2020-08-29 09:15:26
在Python中,变量名只是对对象存储位置的引用,对象具有类型。
因此,当您将myVariable从5更改为'Test String'时,变量引用myVariable将更改为引用新的字符串位置。
https://stackoverflow.com/questions/63645316
复制相似问题