本文简单介绍 Python 中的变量赋值底层原理。 基本赋值语句 Python 开发中最基本和最常用的命令就是变量赋值语句: age = 24 给人的感觉就是代数中的概念:名称为 age 的变量,其值被定义为 24. 但是底层不能这么简单的保存,因为还有其他信息。比如:数据类型。 可以把数据想象成一个篮子,里面装了多个属性,比如: age: { value: 24, type: int } 用图形表示,就是下面的图: 赋值语句执行后,一个名叫 age 的指针就指向了这个数据篮子: 为变量起别名 如果以 上一节 的赋值语句为基础,我们再建立一个新的变量: score = age 那么底层的原理并不是创建一个新的 score 对象,而是将新的变量名指向原来的 age 所指的对象。 score 就变成了 age 的别名(alias),同一种物品的不同名字而已。这时候调用 score 或者 age,操作的是同一个数据对象。 修改数值 如果这时候改变了任何一个别名指向的数值,比如: age = age + 5 那么这时候会创建一个新的数据对象,而不会影响别名所指的对象。