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

開啟您的職業生涯

透過完成課程獲得認證

開始
廣告