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