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

Immutable nghĩa là gì? Kiểu nào mutable, kiểu nào immutable trong Python?

Trong Python, đối tượng chia làm hai loại:

  • Mutable Object (đối tượng có thể thay đổi)
  • Immutable Object (đối tượng không thể thay đổi)

Mutable (Có thể thay đổi)

Các đối tượng mutable có thể sửa đổi sau khi tạo: list, set, dict, v.v. Chúng dễ dàng thay đổi nội dung.

Ví dụ 1: List

lst = ["Tutorials ", "Point", "Pvt", "Ltd"]
lst[2] = 'Tutorix'
print(lst)
['Tutorials ', 'Point', 'Tutorix', 'Ltd']

Ví dụ 2

lst = ['Car', 'Bike', 'Scooty', 'Bus', 'Metro']
lst[4] = 'Bicycle'
print(lst)
['Car', 'Bike', 'Scooty', 'Bus', 'Bicycle']

Immutable (Không thể thay đổi)

Các đối tượng immutable không thể sửa đổi sau khi tạo: int, float, bool, str, tuple, frozenset, v.v. Việc thay đổi chúng tốn kém (phải tạo đối tượng mới).

Ví dụ 1: Tuple

tup = ('1', '2', 'Python', 'Perl')
print(tup)
('1', '2', 'Python', 'Perl')

Ví dụ 2: Thử gán giá trị cho tuple (gây lỗi)

tup = ('1', '2', 'Python', 'Perl')
tup[4] = '2019'  # TypeError
TypeError: 'tuple' object does not support item assignment

Tóm tắt:

MutableImmutable
list, set, dict, bytearrayint, float, bool, str, tuple, frozenset, bytes