Типы данных по метафорам
Разбираясь в типах данных я искала понятные образные метафоры из обычного мира. Нашла несколько интересных. Вот, что получилось у меня. Включаем фантазию и погнали)
Списки (Lists):
Списки можно сравнить с коробкой. В ней могут быть другие коробки, и просто отдельные вещи.
Кортежи (Tuples):
Кортежи похожи на упакованные подарки. Вы можете положить несколько вещей в подарочную коробку, и после того, как подарок упакован, вы не можете добавить или удалить вещи из него.
Словари (Dictionaries):
Словари похожи на телефонную книгу. У вас есть имена (ключи) и соответствующие им адреса, телефоны, даты, имена аккаунтов в мессенджерах (значения).
Множества (Sets):
Множества можно сравнить с коробкой для хранения уникальных камней. Вы можете положить разные камни в коробку, но в итоге в коробке не будет повторяющихся камней.
Неизменяемое множество (Frozenset):
Можно сравнить с коллекцией уникальных камней за стеклом. Как и в случае с обычным множеством (set), вы можете добавлять новые камни в свою коллекцию и удалять их при необходимости. Однако когда вы создаете фрозенсет, вы помещаете коллецию камней за стекло, которая остается неизменной и сохраняет свою уникальность.
Диапазон (Range)
Это как линейка, по которой мы точно знаем начало и конец и деления. Начало может быть 0 и больше (как если бы мы решили отступить несколько значений). Линейка так же ограничена, как и диапазон. А деления - это шаг, мы можем отмечать каждое деление или через какое-то число делений.
Логический тип (Bool)
Можно сравнить с выключателем света. True или 1 - свет есть, False или 0 - свет выключен. Булев массив похож на многоэтажку поздно вечером. Где-то горит свет, а где-то нет. Мы можем посчитать все окошки со светом, тогда сумма массива будет равна какому-то числу. Если мы посчитаем все окошки со светом
Byte
Представим, что наш мир состоит только из конструктора Лего, так вот байт - это одна маленькая деталь
Bytearray
Не уходим далеко от нашего мира из Лего. Bytearray это изменяемая последовательность байтов, которую вы можете моделировать и изменять по вашему усмотрению, аналогично тому, как вы можете создавать и изменять формы и структуры из игрушечных деталей. Вы можете добавлять, удалять и изменять байты в объекте
Memoryview
Представьте, что у вас есть стена-витраж, выполненная из множества маленьких кусочков стекла, что-то вроде окошек - memoryview . Чтобы просмотреть определенную часть того, что за стеной, вы можете использовать маленькое окошко витража который позволяет вам увидеть только эту часть.
Memoryview позволяет просматривать определенную часть памяти, содержащую данные, как если бы это был узкий фрагмент стекла, который отображает только эту часть данных. Memoryview предоставляет доступ к буферу памяти, представляющему массив байтов, без копирования данных. Таким образом, вы можете просматривать и работать с данными в памяти, как если бы вы просматривали определенную часть комнаты через узкий фрагмент стекла.