В предыдущей статье мы столкнулись с довольно любопытным наблюдением. Списки можно изменять: numbers = [1, 2]
numbers.append(3)
print(numbers) Результат: [1, 2, 3] А вот с числами похожий трюк не работает. Когда мы пишем: x = 10
x = 20 объект со значением 10 не превращается в объект со значением 20. Вместо этого имя x начинает ссылаться на другой объект. На первый взгляд это выглядит как два совершенно разных поведения. На самом деле Python делит все объекты на две большие группы. Первая группа называется изменяемыми объектами (mutable objects). Вторая - неизменяемыми объектами (immutable objects). Начнём с изменяемых объектов. Изменяемым называется объект, внутреннее состояние которого можно изменить после создания. Список - классический пример такого объекта. Создадим список: numbers = [1, 2] После этого можно добавлять элементы: numbers.append(3) удалять их: numbers.remove(2) или заменять существующие значения: numbers[0] = 100 Во всех этих случаях Python работает с одним и тем ж