Какие типы объектов существуют в Python

«Какие типы объектов существуют в Python» — вопрос из категории Python, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Python объекты делятся на изменяемые (mutable) и неизменяемые (immutable).

Неизменяемые:

  • Числа (int, float, complex)
  • Строки (str)
  • Кортежи (tuple)
  • Булевы значения (bool)
  • frozenset

Изменяемые:

  • Списки (list)
  • Словари (dict)
  • Множества (set)
  • Пользовательские классы

Пример:

a = (1, 2)  # кортеж (неизменяемый)  
b = [1, 2]  # список (изменяемый)  
a[0] = 3  # TypeError  
b[0] = 3  # OK  

Разница важна при передаче в функции (изменяемые объекты могут модифицироваться внутри функции).