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