7

Python 中的变量赋值

 2 years ago
source link: https://www.lfhacks.com/tech/identifier-assignment-in-python
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Python 中的变量赋值

865.jpg

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

基本赋值语句

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

age = 24

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

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

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

age: {value:24, type: int}

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

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

为变量起别名

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

score = age

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

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

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

age = age + 5

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


坚持原创不易。如果您觉得有收获,请考虑资助本站,以期待更多原创文章。

打赏作者,支持小站

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK