如何在Python中实际实现变量?

问题描述

我对python变量非常困惑。我从不同的书籍中读了几章有关变量的章节,有些解释是矛盾的,有些只是略有不同,但仍然有所不同。 有些使用视觉解释,不一定有帮助。 以下是我的理解,基本上是所有章节事实的交叉点。 我正在寻找可以纠正我的人,所以我可以解决这个问题。我睡不着救救我!

了解:

python中的所有对象都是对象。变量(标识符)的每个名称都是对对象的引用。

我想作为参考,您至少需要两个这样的存储单元:

<address><content>

变量的标识符连接到第一存储单元的地址。该单元的内容是到另一个存储单元地址的连接,该地址的内容现在可以是一个值(简单数据类型)或另一个引用(复杂数据类型)。

所以到目前为止,我认为这是引用在一般和python中的工作方式。

与我经常看到的简单数据类型相反,它以第一个单元的内容已经是值本身的方式显示。 这符合我对C语言中原始数据类型的理解。

那么有人可以让我的思想混乱吗?

感谢大家抽出宝贵的时间!我真的很感激。

解决方法

在CPython中,变量通过遵循PyObject *类型的C指针访问其值。该指针指向一个结构,该结构可以直接包含该值,或者具有指向它的其他C指针。结构的前几个字段包含类型信息,并确定如何解释其余部分。

a = b之后,两个变量都指向相同的结构。