Python中变量赋值的本质——“引用”的概念

文章目录

  • 1. 问题引入
  • 2. 问题解答

1. 问题引入

如果你使用Python声明了一个变量并同时为其赋值,即a = 20,你是否将这条语句简单理解为:a. 计算机开辟了一块地址别名为a的内存;b. 往这块内存存储了数据20

如果你对上述问题的回答为是,那么你对诸如“Python是一门动态类型语言”、“Python效率远不如C语言等静态语言效率高”等说法也一定不了解其本质。

2. 问题解答

实际上,计算机在执行上述Python语句时,其本质如下图所示:

Python中变量赋值的本质——“引用”的概念_第1张图片

即,在Python中:

  1. 和其他编程语言一样的是,变量是内存地址的别名,即a代表了地址0x1002
  2. 和其他编程语言不一样的是,Python中的变量和数据分开存储:变量a所代表的地址0x1001处仅保存了数据20存储的内存地址0x1002
  3. 变量a所标示的内存空间存储数据20所在内存地址的过程称为引用

你可能感兴趣的:(#,基础语法)