
Список типов данных в Python
- Что такое динамическая типизация
- Разница между атомарными и структурными типами данных
- Числовые типы
- int (целое число)
- float (число с плавающей точкой)
- complex (комплексное число)
- bool (логический тип данных)
- Последовательности
- str (строка)
- list (список)
- tuple (кортеж)
- dict (словарь)
- set (множество)
- Файл
- range object (a type of iterable)
- None
- Работа с типами в Python
- Как проверить тип данных
- Как поменять тип данных
- Отличие type() от isinstance()
Начнём с того, что все данные в Python являются объектами. Они могут создаваться нами вручную, либо быть изначально встроенными на уровне языка. Объект можно охарактеризовать, как особую область памяти, где хранятся некоторые значения и определённые для этих значений операции.
Проиллюстрировать фундаментальность объектов в разрезе Питона можно, приведя пример общего вида программы на этом языке. Итак:
- Программа состоит из модулей;
- Модуль, в свою очередь, представляет собой набор инструкций;
- Инструкции содержат выражения;
- Выражения служат для создания и обработки объектов;
Ну и вполне закономерно, что объекты можно классифицировать по их типам.
Что такое динамическая типизация
Прежде, чем мы приступим к рассмотрению наиболее употребляемых типов данных в Python, проведём небольшую параллель с другими языками программирования. Всё их множество можно разделить на две составляющие:
- типизированные языки;
- нетипизированные (бестиповые) языки.
Нетипизированные языки в основной своей массе сосредоточены на низком уровне, где большинство программ напрямую взаимодействует с железом. Так как компьютер "мыслит" нулями и единицами, различия между строкой и, допустим, классом для него будут заключаться лишь в наборах этих самых 0 и 1. В связи с этим, внутри бестиповых языков, близких к машинному коду, возможны любые операции над какими угодно данными. Результат на совести разработчика.
Python же — язык типизированный. А, раз в нём определено понятие "типа", то должен существовать и процесс распознавания и верификации этих самых "типов". В противном случае вероятны ситуации, когда логика кода окажется нарушенной, а программа выполнится некорректно.
Таким процессом и является типизация. В ходе её выполнения происходит подтверждение используемых типов и применение к ним соответствующих ограничений. Типизация может быть статической и динамической. В первом случае, проверк