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

Tại sao tuple là immutable (bất biến) trong Python?


Tuple là immutable vì các lý do sau:

  • Duy trì thứ tự (maintaining order): Tuple được thiết kế để biểu diễn thứ tự. Ví dụ: truy xuất dữ liệu từ database trả về list of tuples, các tuple theo thứ tự field.
  • Hiệu quả sao chép (copy efficiency): Thay vì copy đối tượng immutable, có thể alias (gán biến tham chiếu đến cùng đối tượng).
  • Hiệu quả so sánh (comparison efficiency): Với copy-by-reference, so sánh hai biến bằng cách so sánh địa chỉ (identity) thay vì nội dung.
  • Interning: Chỉ cần lưu tối đa một bản sao của bất kỳ giá trị immutable nào; không cần đồng bộ hóa truy cập trong code concurrent.
  • Đúng đắn hằng số (const correctness): Một số giá trị không nên được phép thay đổi.

Hệ quả: Vì immutable, tuple có thể dùng làm key trong dictionary và element trong set – list thì không.