我們可以在 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 千次瀏覽

啟動您的 職業

完成課程獲得認證

開始使用
廣告