thể trùng lặp:
Why are python strings and tuples are made immutable?Tại sao tuple không thể thay đổi trong Python?
gì thiết kế cấp dưới làm tuple không thể thay đổi bằng Python? Tại sao tính năng này hữu ích?
thể trùng lặp:
Why are python strings and tuples are made immutable?Tại sao tuple không thể thay đổi trong Python?
gì thiết kế cấp dưới làm tuple không thể thay đổi bằng Python? Tại sao tính năng này hữu ích?
Một vài lý do:
__hash__
phương pháp dựa trên nội dung của chúng, các giá trị được trả về có thể thay đổi khi nội dung thay đổi, vi phạm hợp đồng cho giá trị băm.tuple
sẽ chỉ sao chép khi cần thiết.Vì nếu không sẽ không có loại trình tự bất biến! Nếu bạn muốn một tuple mutable bạn chỉ cần sử dụng một danh sách.
Sử dụng các loại không thay đổi khi thích hợp có các đặc quyền hiệu suất khác nhau và bạn không thể dễ dàng sử dụng dict
với các khóa tuple nếu chúng được thay đổi.
Giá trị băm của chúng có thể thay đổi? Huh? – wim
wim -> hash vaules thay đổi khi danh sách thay đổi. Danh sách có thể thay đổi nếu có ref ở đâu đó khác trong danh sách. –
danh sách không thể thực hiện được. – wim