В языке Python все объекты делятся на две категории: изменяемые (mutable) и неизменяемые (imutable).
В неизменяемых объектах Python включены: int, float, bool, str и tuple.
Изменяемые объекты включают: list, dict и set.
Неизменяемые объекты не подлежат изменению после создания. В то время как изменяемые объекты могут изменяться.
Значение неизменяемых объектов, как чисел или строк, нельзя изменить. Если мы, например, создали строку, то мы не можем изменить ее значение, мы можем только создать новую строку.
Ниже приведены примеры неизменяемых объектов:
— a = 5 (int)
— b = 2.1 (float)
— c = True (bool)
— d = «hello» (str)
— e = (a, b, c) (tuple)
Мы не можем изменить значения a, b, c, d, e после их объявления.
Изменяемые объекты могут быть изменены после создания. Если мы создали список, то мы можем изменить его элементы без создания нового списка.
Ниже приведены примеры изменяемых объектов:
— a = [1, 2, 3, 4] (list)
— b = {«name»: «John», «age»: 25} (dict)
— c = set([«apple», «banana», «cherry»]) (set)
Мы можем изменить значения a, b, c после их объявления:
— a[0] = 5 (теперь a = [5, 2, 3, 4])
— b[«name»] = «Alice» (теперь b = {«name»: «Alice», «age»: 25})
— c.add(«orange») (теперь c = set([«apple», «banana», «cherry», «orange»]))
Когда мы работаем с неизменяемыми объектами, мы не можем изменять их значение, мы можем только создавать новые объекты с новыми значениями. Этот подход называется функциональным программированием.
Когда мы работаем с изменяемыми объектами, мы можем изменять их значение, однако мы стараемся не злоупотреблять этим преимуществом и следить за сохранением целостности объектов как можно более бережно.