浅拷贝与深拷贝以及引用

Python 变量存储情况

在高级语言中,变量是对内存及其地址的抽象。对于python 而言,python 的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是指这个变量的本身:

引用语义:在 python 中,变量保存的是对象(值)的引用,我们称为 引用语义。采用这种方式,变量所需的存储空间大小一致,因为变量只是保存了一个引用。也被称为对象语义和指针语义。

值语义:有些语言采用的不是这种方式,它们把变量的值直接保存在变量的存储区里,这种方式被我们称为值语义,例如 C 语言,采用这种存储方式,每一个变量在内存中所占的空间就要根据变量实际的大小而定,无法固定下来。

值语义和引用语义的区别:

值语义: 死的、 傻的、 简单的、 具体的、 可复制的
引用语义: 活的、 聪明的、 复杂的、 抽象的、 不可复制的