我们可以在 Python 中将引用分配给变量吗?


Python 中变量的概念不同于 C/C++。在 C/C++ 中,变量是内存中一个已命名的位置。即便将一个变量的值赋给另一个变量,也会在另一个位置创建一个副本。

int x=5;
int y=x;

例如,在 C++ 中,& 运算符返回已声明变量的地址。

cout<x<<&x<<y<<&y;

即使 x 和 y 包含相同的值,但此方法仍会打印两个不同的地址。你可以将地址存储在引用变量中,从而创建一个此变量的别名

int x=5;
int &y=x;
y=10;
cout<<x<<y;

此方法显示两个变量都为 10。此处,y 是 x 的引用。因此,可以使用它们作为互相替换的变量。

然而,在 Python 中,变量仅仅是分配给内存中某一对象的名称。即便将它的值赋给另一个变量,它们实际上都引用内存中同一个对象。这可以通过 id() 函数验证。

>>> x=5
>>> y=x
>>> id(x), id(y)
(1486402752, 1486402752)

因此可以清楚地看到,在 Python 中,我们无法创建变量的引用。


更新时间: 2020 年 2 月 20 日

1 千个以上浏览

开启您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.