如何访问不可变变量中的原始值



不可变变量:一种变量,如果被修改,它会存储它的原始版本。问题:如何在 Python 中访问该变量的旧版本?还是在爪哇?或者支持这种"持久数据结构"的任何其他语言?还是我对不可变变量的定义有误?

在我更改变量后,假设 ,python

name = "nice name"
name = "bad name"

现在,如何检索var name的旧值?

注意:这个问题与它被标记为重复的问题不同,因为这个问题是关于变量的内存位置,另一个问题是关于变量的范围

在您的示例中,name 是指向值的引用。

在第一行中,name指向不可变字符串"nice name"。

然后在第二行中,更新name以指向不同的不可变字符串"bad name"。

此时,没有变量引用"好名字" - 因此它不再可用。

str类型是不可变的,因为"nicename"值本身无法更新。对字符串的任何操作都将创建一个新的内存块来存储修改后的字符串。 在您的示例中,"好名称"和"坏名称"存储在不同的内存块中 - 您正在更新的只是对内存块的引用。

最新更新