Junior — Middle
71
Pouvez-vous expliquer ce qu'est un objet avec des propriétés immuables en Python et comment il fonctionne?
Entreprises à qui on a demandé
Réponse de l'IA
sobes.tech IA
В 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 # Ошибка: нельзя изменить свойство
Таким образом, объект с неизменяемыми свойствами гарантирует, что после создания его состояние не изменится.