Встроенные типы данных

Как уже говорилось, все данные в Python представлены объектами. Имена являются лишь ссылками на эти объекты и не несут нагрузки по декларации типа. Значения встроенных типов имеют специальную поддержку в синтаксисе языка: можно записать литерал строки, числа, списка, кортежа, словаря (и их разновидностей). Синтаксическую же поддержку операций над встроенными типами можно легко сделать доступной и для объектов определяемых пользователей классов.

Следует также отметить, что объекты могут быть неизменчивыми и изменчивыми. Например, строки в Python являются неизменчивыми, поэтому операции над строками создают новые строки.

Карта встроенных типов (с именами функций для приведения к нужному типу и именами классов для наследования от этих типов):

• специальные типы: None, NotImplemented и Ellipsis;

• числа;

 ○ целые

  • обычное целое int

  • целое произвольной точности long

  • логический bool

 ○ число с плавающей точкой float

 ○ комплексное число complex

• последовательности;

 ○ неизменчивые:

  • строка str;

  • Unicode–строка unicode;

  • кортеж tuple;

 ○ изменчивые:

  • список list;

• отображения:

 ○ словарь dict

• объекты, которые можно вызвать:

 ○ функции (пользовательские и встроенные);

 ○ функции–генераторы;

 ○ методы (пользовательские и встроенные);

 ○ классы (новые и «классические»);

 ○ экземпляры классов (если имеют метод __call__);

• модули;

• классы (см. выше);

• экземпляры классов (см. выше);

• файлы file;

• вспомогательные типы buffer, slice.

Узнать тип любого объекта можно с помощью встроенной функции type().