关于python是一种动态类型化语言
众所周知,Python是一种动态类型化语言。我是从Java学习Python的,我一直想知道的是,在Java中,我们做变量赋值关于python是一种动态类型化语言,python,memory,memory-management,variable-assignment,Python,Memory,Memory Management,Variable Assignment,众所周知,Python是一种动态类型化语言。我是从Java学习Python的,我一直想知道的是,在Java中,我们做变量赋值 int testVariable = 5; 执行上述代码后,Java将分配一个内存位置,该位置能够保存类型integer的值,并将其称为testVariable。因此,当我们更改变量的值时,java只更新testVariable的值,而不必更改变量的类型,因为我们无法将字符串分配给int。因此在相同的内存位置中,只更新值 那么,让我们假设我们在Python中执行以下操作
int testVariable = 5;
执行上述代码后,Java将分配一个内存位置,该位置能够保存类型integer的值,并将其称为testVariable。因此,当我们更改变量的值时,java只更新testVariable的值,而不必更改变量的类型,因为我们无法将字符串分配给int。因此在相同的内存位置中,只更新值
那么,让我们假设我们在Python中执行以下操作
myVariable = 5
现在,因为这里的值是5,值的类型是int,Python创建了一个内存位置,它可以保存int类型的值,并将值(在本例中为5)存储在该内存位置
然后,我可以将变量名“myVariable”绑定到一个字符串类型的值,如下所示
myVariable = 'Test String'
因此,一旦完成此操作,Python是否会将之前保存值5的内存位置移动到适合保存字符串值的其他位置(因为第一个位置适合保存第一个位置的整数而不是字符串),并将此新内存位置命名为myVariable?或者,python只是修改存储整数值的内存位置,以便现在可以保存字符串值吗?
请解释一下。谢谢。在Python中,变量名只是对对象存储位置、对象类型的引用 因此,当您将
myVariable
从5
更改为“测试字符串”
时,变量引用myVariable
将更改为引用新的字符串位置