Python 中的变量赋值

2021-05-24

本文简单介绍 Python 中的变量赋值底层原理。

基本赋值语句

Python 开发中最基本和最常用的命令就是变量赋值语句:

age = 24

给人的感觉就是代数中的概念:名称为 age 的变量,其值被定义为 24.

但是底层不能这么简单的保存,因为还有其他信息。比如:数据类型。

可以把数据想象成一个篮子,里面装了多个属性,比如:

age: {
  value: 24, 
  type: int
  }

用图形表示,就是下面的图:

赋值语句执行后,一个名叫 age 的指针就指向了这个数据篮子:

为变量起别名

如果以 上一节 的赋值语句为基础,我们再建立一个新的变量:

score = age

那么底层的原理并不是创建一个新的 score 对象,而是将新的变量名指向原来的 age 所指的对象。

score 就变成了 age 的别名(alias),同一种物品的不同名字而已。这时候调用 score 或者 age,操作的是同一个数据对象。

修改数值

如果这时候改变了任何一个别名指向的数值,比如:

age = age + 5

那么这时候会创建一个新的数据对象,而不会影响别名所指的对象。

捐助本站

为了保证阅读体验,本站不安放广告。但是,租用服务器和编写文章需要个人资金和时间的投入。

如果您觉得文章对您有用,请考虑捐助小站(金额不限),以期待更多原创文章。捐助记录

本站是个人网站,若无特别说明,文章均为原创,并采用 署名协议 CC-BY-NC 授权。
欢迎转载,惟请保留原文链接,且不得用于商业用途。