Какие встроенные типы данных есть в Python (int, str, list, tuple, dict, set)?

В Python есть несколько ключевых встроенных типов данных: int — целые числа; str — строки; list — изменяемый упорядоченный список элементов; tuple — неизменяемая упорядоченная последовательность; dict — отображение «ключ–значение»; set — неупорядоченное множество уникальных элементов.

На собеседованиях по Python практически всегда проверяют понимание встроенных типов данных, потому что на них держится любой backend‑код. Официальная документация Python группирует типы по категориям: числовые, последовательности, отображения, множества и т.д., но от кандидата обычно ждут уверенного объяснения именно int, str, list, tuple, dict, set.

Ниже — кратко по каждому типу в том виде, как это рекомендуется формулировать на собеседовании.

int — целые числа

int представляет целые числа: положительные, отрицательные, ноль. В Python нет ограничения по разрядности int в привычном смысле: число может быть сколь угодно большим, пока хватает памяти.
Примеры: 0, -5, 42, 10_000_000.
В backend‑разработке int используют для идентификаторов, счётчиков, статусов, размеров и т.д.

str — строки

str — это неизменяемая (immutable) последовательность символов Unicode. Строки применяются для хранения текста: имён, email‑адресов, JSON‑фрагментов, логов.

Важно понимать два момента, которые любят уточнять на интервью:

Строки неизменяемы: любая «изменяющая» операция на самом деле создаёт новый объект.

Строка — это последовательность, к ней применимы операции индексирования, срезов, конкатенации и проверки вхождения (in).

list — список

list — изменяемая упорядоченная коллекция элементов. В список можно добавлять, удалять и изменять элементы по индексу.

Характерные свойства, которые важно озвучить:

  1. Сохраняет порядок добавления элементов.

  2. Может содержать элементы разных типов, но в реальном коде лучше придерживаться однородности.

  3. Поддерживает операции срезов, итерацию, методы append, extend, insert, remove и т.д.

Иногда на интервью отдельно спрашивают о различиях list и tuple, поэтому важно связно сравнивать именно их.

tuple — кортеж

tuple — упорядоченная неизменяемая последовательность элементов. Основное отличие от списка: после создания кортеж нельзя изменить (нельзя добавить/удалить элементы или изменить по индексу).

Где это важно? Кортежи часто используют для хранения фиксированной структуры (например, координата (x, y)), а также как ключи в словарях. Неизменяемость делает tuple более безопасным в ситуациях, где данные не должны случайно меняться.

dict — словарь

dict — отображение «ключ–значение». Ключи обычно должны быть хешируемыми и неизменяемыми (строки, числа, кортежи из неизменяемых типов), а значение может быть любым объектом.

Свойства, о которых важно упомянуть на собеседовании:

  1. Быстрый доступ по ключу (через хеш‑таблицу).

  2. Начиная с Python 3.7 словари сохраняют порядок добавления элементов, что часто используется в веб‑разработке. В backend‑коде dict лежит в основе работы с JSON, конфигами, параметрами запросов и внутренними структурами данных.

set — множество уникальных элементов

set — неупорядоченное множество уникальных элементов. Как и в dict, элементы множества должны быть хешируемыми.

Ключевые моменты:

  1. Автоматически устраняет дубликаты.

  2. Поддерживает операции теории множеств: объединение, пересечение, разность.

  3. Обеспечивает быстрый поиск «принадлежит / не принадлежит» (in).

На собеседованиях часто дают практические задачи: «убрать дубликаты из списка», «найти общие элементы двух коллекций» — это как раз прямой повод использовать set.

Как ответить на собеседовании?
Кратко перечислить типы и назначение: int, str, list, tuple, dict, set. Отдельно подчеркнуть изменяемость (list, dict, set — изменяемые; int, str, tuple — неизменяемые). По необходимости — привести пример использования для одного‑двух типов (например, dict для JSON‑ответов API, set для удаления дублей).

Именно в таком стиле мы строим тренажёры собеседований на TeoBrain: сначала вы отрабатываете короткий ответ для собеседования, а затем в задачах и мини‑проектах закрепляете, как эти типы работают в реальном backend‑коде — от простых списков до вложенных словарей с конфигурациями и телами запросов.

Назад к списку