Три категории типов в Python

Формально в языке Python существует три категории типов (и операций):

  1. Числа (целые, вещественные, с фиксированной точностью, рациональные и др.): Поддерживают операции сложения, умножения и так далее.
  2. Последовательности (строки, списки, кортежи): Поддерживают операции индексации, извлечения среза, конкатенации и так далее.
  3. Отображения (словари): Поддерживают операцию индексации по ключу и так далее.

Классификация типов данных по изменениям

Классификация по возможности изменения – это слишком существенное ограничение, чтобы не помнить о нем, и все же она часто сбивает с толку начинающих программистов. Если объект является значением неизменяемого типа, вы не сможете изменить его непосредственно – в этом случае интерпретатор будет выдавать сообщение об ошибке. Вместо этого необходимо, чтобы программный код создавал новый объект, содержащий новое значение. Основные базовые типы данных в языке Python делятся на следующие категории:

Неизменяемые (числа, строки, кортежи, фиксированные множества)
Объекты неизменяемых типов не поддерживают возможность непосредственного изменения значения объекта, однако вы всегда сможете создавать новые объекты с помощью выражений и присваивать их требуемым переменным.

Изменяемые (списки, словари, множества)
Объекты изменяемых типов, наоборот, всегда могут изменяться непосредственно, с помощью операций, которые не создают новые объекты. Изменяемые объекты могут быть скопированы, но они поддерживают и возможность непосредственного изменения.