关于 python 是一种动态类型的语言
Regarding python being a dynamically typed language
众所周知,Python 是一种动态类型语言。我是从 Java 开始学习 Python 的,我一直想知道的是,在 Java 中,我们进行变量赋值,
int testVariable = 5;
执行上述代码后,Java 分配一个内存位置,该位置能够容纳 类型整数 的值,并将其称为 testVariable。因此,当我们更改变量的值时,java 只是更新 testVariable 的 value 而它 不必更改变量的类型 因为我们不能将字符串分配给 int。所以在相同的内存位置,只会更新值。
然后,让我们假设我们在Python、
中执行以下操作
myVariable = 5
现在,由于这里的值是 5 并且值的类型是 int,Python 创建一个内存位置可以保存 int 类型的值并将值(在本例中为 5)存储在该内存位置。
然后,我可以将变量名 'myVariable' 绑定到一个字符串类型的值,如下所示,
myVariable = 'Test String'
所以一旦完成,会Python将之前保存值 5 的内存位置移动到其他适合保存字符串值的位置(因为第一个位置有一开始就适合保存整数而不是字符串)并将这个新的内存位置命名为 myVariable?或者,python 是否只是修改存储整数值的内存位置,以便它现在可以保存字符串值?
请说明一下。谢谢。
在Python中,变量名只是对对象存储位置的引用,对象具有类型。
因此,当您将 myVariable
从 5
更改为 'Test String'
时,变量引用 myVariable
更改为引用新的字符串位置。
众所周知,Python 是一种动态类型语言。我是从 Java 开始学习 Python 的,我一直想知道的是,在 Java 中,我们进行变量赋值,
int testVariable = 5;
执行上述代码后,Java 分配一个内存位置,该位置能够容纳 类型整数 的值,并将其称为 testVariable。因此,当我们更改变量的值时,java 只是更新 testVariable 的 value 而它 不必更改变量的类型 因为我们不能将字符串分配给 int。所以在相同的内存位置,只会更新值。
然后,让我们假设我们在Python、
中执行以下操作myVariable = 5
现在,由于这里的值是 5 并且值的类型是 int,Python 创建一个内存位置可以保存 int 类型的值并将值(在本例中为 5)存储在该内存位置。
然后,我可以将变量名 'myVariable' 绑定到一个字符串类型的值,如下所示,
myVariable = 'Test String'
所以一旦完成,会Python将之前保存值 5 的内存位置移动到其他适合保存字符串值的位置(因为第一个位置有一开始就适合保存整数而不是字符串)并将这个新的内存位置命名为 myVariable?或者,python 是否只是修改存储整数值的内存位置,以便它现在可以保存字符串值?
请说明一下。谢谢。
在Python中,变量名只是对对象存储位置的引用,对象具有类型。
因此,当您将 myVariable
从 5
更改为 'Test String'
时,变量引用 myVariable
更改为引用新的字符串位置。