Содержание с кратким описанием:
Основными встроенными типами являются числа, последовательности, отображения, классы, экземпляры и исключения.
Утиная типизация заключается в том, что вместо проверки типа чего-либо в Python мы склонны проверять, какое поведение оно поддерживает (часто пытаясь использовать это поведение и перехватывая исключение, если оно не работает.
Вызываемый объект callable - это все, что можно вызвать, используя круглые скобки. Вызываемые объекты часто принимают аргументы (которые заключаются в круглые скобки). В этом материале объясняется, почему происходит такая путаница между классами и функциями в Python.
Для проверки типов лучше всего подходит функция isinstance, так как она поддерживает наследование (экземпляр производного класса также является экземпляром базового класса), а проверка на равенство типов - нет (требуется идентичность типов и отклоняет экземпляры подтипов, также называемых подкласса
Логический тип представлен двумя постоянными значениями False и True. Значения используются для представления истинности.
Целые числа int имеют неограниченную точность и являются неизменяемыми объектами, поэтому, выполняя операцию над целыми числами, вы получаете новый числовой объект.
CPython имеет глобальное ограничение на преобразование между int и str для смягчения атак типа "отказ в обслуживании". Это ограничение применяется только к десятичным или другим системам счисления, не равным степени двойки. Лимит можно настроить.
Числа с плавающей запятой float, их еще называют вещественными числами - это последовательность десятичных цифр, которая включает десятичную точку .
Комплексное число complex состоит из двух чисел с плавающей точкой, представляющих соответственно его действительную и мнимую части. Доступ к обеим частям комплексного объекта x обеспечивают атрибуты x. real и x. imag, доступные только дл
Существуют Изменяемые и НЕизменяемые типы последовательностей. Доступ к неизменяемым последовательностям быстрее, чем к изменяемым. Неизменяемые последовательности очень "дороги" для изменения, потому что для этого необходимо создать копию, а менять
Списки представляют собой изменяемые последовательности, обычно используемые для хранения коллекций однородных элементов. В Python списки представлены встроенным классом list().
В Python кортежи представлены классом tuple(). Это неизменяемые последовательности, обычно используемые для хранения коллекций разнородных данных. Кортежи используются в тех случаях, когда требуется неизменяемая последовательность однородных данных
Тип range - диапазон, представляет собой неизменяемую последовательность чисел и обычно используется для выполнения определенного количества раз циклов for. Диапазоны range представлены в языке Python классом range().
Текстовые данные в Python обрабатываются с помощью встроенного класса str() или по другому тип str. Строки представляют собой неизменяемые последовательности Юникода.
В языке Python тип данных словарь dict представлен встроенным классом dict(). Ключи словаря - это произвольные, неизменяемые (хэшируемые) значения. Словари можно создать, поместив разделенный запятыми список пар ключ: значение в фигур
Множество в Python3 - это неупорядоченный набор различных хешированных hashable объектов. Обычно множества используются в тестировании вхождения элемента, удаление дубликатов из последовательности и вычисление математических операций.
Python поддерживает концепцию итерации над контейнерами. Это реализовано с использованием двух разных методов (iterator.__iter__( ) и iterator.__next__( )), они используются для того, чтобы пользовательские классы могли поддерживать итерации.
Тип generator (генератор) похож на тип iterator (итератор), но тип generator не хранит значения последовательности в памяти, а генерирует/вычисляет результат на лету - в ходе каждого вызова, тем самым экономит память и вычислительные ресурсы.
Оператор with в Python поддерживает концепцию контекста среды выполнения, определенного контекстным менеджером. Протокол контекстных менеджеров реализован с помощью пары методов, которые позволяют определяемым пользователем классам определять конте
Тип данных bytes это неизменяемые последовательности отдельных байтов. Двоичные протоколы основаны на кодировании текста ASCII. Объекты bytes могут быть созданы с помощью встроенного класса bytes().
Объекты bytearray являются **изменяемым** аналогом bytes объектов. Выделенного литерального синтаксиса для объектов bytearray нет, вместо этого они всегда создаются путем вызова конструктора встроенного класса bytearray().
Объекты memoryview позволяют коду Python получать доступ к внутренним данным объекта, который поддерживает протокол буфера обмена, без копирования. Memoryview имеет понятие элемента, который является атомарной единицей памяти.
Файловый объект file object, это объект, предоставляющий файлово-ориентированный API с такими методами, как file.read() или file.write() базовому ресурсу.
Объекты GenericAlias создаются путем подписки на класс (обычно контейнер), например list[int]. Они предназначены для аннотаций типов. Объект GenericAlias реализует параметризованные универсальные шаблоны - конкретный универсальный экземпляр, который предоставляет типы для элементов контейнера.
Объект объединения Union содержит значение операции | (побитовая или) над объектами нескольких типов. Этот тип в первую очередь предназначен для аннотаций типов.