Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Gán reference cho biến trong Python

Khái niệm variable trong Python khác C/C++.

C/C++

Variable = named memory location. Gán giá trị tạo bản copy ở location khác.

int x = 5;
int y = x;  // Copy value
// &x != &y (địa chỉ khác)

Tạo alias bằng reference:

int x = 5;
int &y = x;  // y là reference đến x
y = 10;
cout << x << y;  // 10 10

Python

Variable = name gán cho object trong memory. Gán cho variable khác → cả hai trỏ cùng object. Verify bằng id().

>>> x = 5
>>> y = x
>>> id(x), id(y)
(1486402752, 1486402752)  # Cùng id = cùng object

Kết luận: Python không thể tạo reference đến variable (vì variable đã là reference đến object). Mọi assignment đều gán reference.

Mutable vs Immutable

  • Immutable (int, str, tuple): "thay đổi" = tạo object mới
  • Mutable (list, dict): thay đổi in-place ảnh hưởng tất cả reference