我們可以在 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 中,我們無法建立變數的引用。
廣告