我钦佩 Python 的一点是它区分可变和不可变类型。在使用 Python 之前,我曾花了一些时间在 C 语言编程,惊讶于 Python 很容易地消除了在 C 语言中令我疯狂的指针解引用的复杂性。在 Python 中,一切都按照我期望的方式工作,我很快意识到可变/不可变的区别在其中发挥了重要作用。
当然,还有一些细节需要考虑(可变函数参数默认值是一个显著的例子),但总体而言,我觉得可变/不可变的区别极大地澄清了关于变量及其值是什么以及它们应该如何行事的问题。
但是这个区别从哪里来?我必须假设 GvR 不是第一个构思这种区别的人,Python 也不是第一个使用它的语言。我对早期使用这个概念的语言以及任何早期的理论讨论感兴趣。