Back to questions
Aston
Junior — Middle
48
Можете объяснить, что такое объект с неизменяемыми свойствами в Python и как он работает?
Companies where asked
Answer from AI
sobes.tech AI
В Python объект с неизменяемыми (immutable) свойствами — это объект, у которого после создания нельзя изменить значения его атрибутов. Такие объекты обеспечивают безопасность данных и предсказуемость поведения, так как их состояние не меняется.
Примером неизменяемых объектов в Python являются кортежи (tuple), строки (str), числа (int, float) и т.д. Если нужно создать собственный класс с неизменяемыми свойствами, можно использовать @property без сеттера или namedtuple из модуля collections.
Пример с использованием @property:
class ImmutablePoint:
def __init__(self, x, y):
self._x = x
self._y = y
@property
def x(self):
return self._x
@property
def y(self):
return self._y
p = ImmutablePoint(1, 2)
print(p.x, p.y) # 1 2
# p.x = 5 # Ошибка: нельзя изменить свойство
Таким образом, объект с неизменяемыми свойствами гарантирует, что после создания его состояние не изменится.