Основы Python
Теория: Неизменяемость
В Python некоторые типы данных называются неизменяемыми (или имутабельными). Это значит, что после создания их содержимое нельзя изменить. Самые важные примитивные типы, которые являются неизменяемыми:
int(целые числа),float(вещественные числа),str(строки),bool(булевы значения).
Рассмотрим это на примере строк.
Методы строк не меняют оригинал
Когда мы вызываем метод у строки, кажется, что мы «меняем» строку, например, переводим в верхний регистр:
На самом деле метод upper() возвращает новую строку в верхнем регистре, а оригинальная строка text остаётся прежней. Вот так будет правильно:
Если вы не сохраните результат метода в новую переменную, вы его просто потеряете.
Это касается и других методов:
Метод strip() вернул новую строку без пробелов, но сам text не изменился.
Методы не изменяют оригинальную строку, потому что строки не могут быть изменены после создания. Это решение в языке Python принято специально, и у него есть ряд плюсов:
- Повышенная надёжность: никто случайно не изменит значение
- Упрощение работы в многопоточном коде
- Оптимизация производительности: Python может переиспользовать одинаковые строки в памяти, экономя ресурсы
Позже вы увидите, что изменяемость и неизменяемость — важные свойства, особенно при передаче данных в функции и работе с коллекциями.








