Зарегистрируйтесь, чтобы продолжить обучение

Неизменяемость примитивных типов Основы Python

Представим, что у нас есть строка, и мы хотим заменить в ней один символ — например, первую букву имени:

first_name = 'Alexander'
first_name[0] = 'B'  # ❌

Python сразу выдаст ошибку:

TypeError: 'str' object does not support item assignment

Что это значит? Строки в Python нельзя изменять по частям. Как только они созданы — всё, они неизменяемы (или, как говорят программисты, иммутабельны).

🧱 Почему строки неизменяемые?

Python устроен так, что примитивные типы (строки, числа, булевы значения и т. д.) нельзя менять. Это даёт важные преимущества:

  • 🔐 Безопасность: значения не изменятся случайно
  • ⚡️ Производительность: с неизменяемыми объектами проще работать внутри интерпретатора
  • 🧠 Предсказуемость: меньше неожиданных эффектов при передаче данных в функции

🔁 А как тогда изменить строку?

Если нужно "изменить" строку — мы не редактируем её, а создаём новую строку и сохраняем в ту же переменную:

first_name = 'Alexander'
first_name = 'Blexander'

print(first_name)  # => Blexander

Переменная first_name теперь просто указывает на другую строку. Это не изменение самой строки, а замена значения переменной.

🔄 В чём разница?

Важно различать два действия:

Действие Можно? Пример
Изменить содержимое строки ❌ Нет first_name[0] = 'B' — ошибка
Заменить значение переменной ✅ Да first_name = 'Blexander'

📌 Вывод

Примитивные типы данных в Python — такие как строки (str), целые числа (int), вещественные числа (float) и логические значения (bool) — являются неизменяемыми (immutable). Это означает, что после создания их внутреннее значение изменить нельзя. Вы не можете поменять один символ в строке или один разряд в числе — любые "изменения" происходят путём создания нового значения и переопределения переменной.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff