> **Источник:** https://python-all.ru/2.7/library/types.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 8.15. [`types`](https://python-all.ru/2.7/library/types.html#module-types) – Имена для встроенных типов

**Исходный код:** [Lib/types.py](https://python-all.ru/src/2.7/Lib/types.py)

---

В этом модуле определены имена для некоторых типов объектов, используемых стандартным интерпретатором Python, но не для типов, определяемых различными модулями расширения. Кроме того, он не включает некоторые типы, возникающие во время обработки, такие как тип `listiterator`. Использовать `from types import *` безопасно – модуль не экспортирует никаких имен, кроме перечисленных здесь. Новые имена, которые будут экспортированы в будущих версиях этого модуля, будут оканчиваться на `Type`.

Обычно используется для функций, которые выполняют разные действия в зависимости от типов аргументов, например:

```python
from types import *
def delete(mylist, item):
    if type(item) is IntType:
       del mylist[item]
    else:
       mylist.remove(item)
```

Начиная с Python 2.2, встроенные функции-фабрики, такие как [`int()`](https://python-all.ru/2.7/library/functions.html#int) и [`str()`](https://python-all.ru/2.7/library/functions.html#str), также являются именами соответствующих типов. Теперь это предпочтительный способ доступа к типу вместо использования модуля [`types`](https://python-all.ru/2.7/library/types.html#module-types). Соответственно, приведённый выше пример следует записывать следующим образом:

```python
def delete(mylist, item):
    if isinstance(item, int):
       del mylist[item]
    else:
       mylist.remove(item)
```

Модуль определяет следующие имена:

#### `types.NoneType`

Тип `None`.

#### `types.TypeType`

Тип объектов-типов (например, возвращаемых [`type()`](https://python-all.ru/2.7/library/functions.html#type)); псевдоним встроенного [`type`](https://python-all.ru/2.7/library/functions.html#type).

#### `types.BooleanType`

Тип значений [`bool`](https://python-all.ru/2.7/library/functions.html#bool) `True` и `False`; псевдоним встроенного [`bool`](https://python-all.ru/2.7/library/functions.html#bool).

Новое в версии 2.3.

#### `types.IntType`

Тип целых чисел (например, `1`); псевдоним встроенного [`int`](https://python-all.ru/2.7/library/functions.html#int).

#### `types.LongType`

Тип длинных целых чисел (например, `1L`); псевдоним встроенного [`long`](https://python-all.ru/2.7/library/functions.html#long).

#### `types.FloatType`

Тип чисел с плавающей запятой (например, `1.0`); псевдоним встроенного [`float`](https://python-all.ru/2.7/library/functions.html#float).

#### `types.ComplexType`

Тип комплексных чисел (например, `1.0j`). Не определен, если Python был собран без поддержки комплексных чисел.

#### `types.StringType`

Тип строк (например, `'Spam'`); псевдоним встроенного [`str`](https://python-all.ru/2.7/library/functions.html#str).

#### `types.UnicodeType`

Тип строк Unicode (например, `u'Spam'`). Не определен, если Python был собран без поддержки Unicode. Это псевдоним встроенного [`unicode`](https://python-all.ru/2.7/library/functions.html#unicode).

#### `types.TupleType`

Тип кортежей (например, `(1, 2, 3, 'Spam')`); псевдоним встроенного [`tuple`](https://python-all.ru/2.7/library/functions.html#tuple).

#### `types.ListType`

Тип списков (например, `[0, 1, 2, 3]`); псевдоним встроенного `list`.

#### `types.DictType`

Тип словарей (например, `{'Bacon': 1, 'Ham': 0}`); псевдоним встроенного [`dict`](https://python-all.ru/2.7/library/stdtypes.html#dict).

#### `types.DictionaryType`

Альтернативное имя для `DictType`.

#### `types.FunctionType`

#### `types.LambdaType`

Тип пользовательских функций и функций, созданных выражениями [`lambda`](https://python-all.ru/2.7/reference/expressions.html#lambda).

#### `types.GeneratorType`

Тип объектов-итераторов [generator](https://python-all.ru/2.7/glossary.html#term-generator), создаваемых вызовом генераторной функции.

Новое в версии 2.2.

#### `types.CodeType`

Тип объектов кода, возвращаемых [`compile()`](https://python-all.ru/2.7/library/functions.html#compile).

#### `types.ClassType`

Тип пользовательских классов старого стиля.

#### `types.InstanceType`

Тип экземпляров пользовательских классов старого стиля.

#### `types.MethodType`

Тип методов экземпляров пользовательских классов.

#### `types.UnboundMethodType`

Альтернативное имя для `MethodType`.

#### `types.BuiltinFunctionType`

#### `types.BuiltinMethodType`

Тип встроенных функций, таких как [`len()`](https://python-all.ru/2.7/library/functions.html#len) или [`sys.exit()`](https://python-all.ru/2.7/library/sys.html#sys.exit), и методов встроенных классов. (Здесь термин «встроенный» означает «написанный на C».)

#### `types.ModuleType`

Тип модулей.

#### `types.FileType`

Тип открытых файловых объектов, таких как `sys.stdout`; псевдоним встроенного [`file`](https://python-all.ru/2.7/library/functions.html#file).

#### `types.XRangeType`

Тип объектов range, возвращаемых [`xrange()`](https://python-all.ru/2.7/library/functions.html#xrange); псевдоним встроенного [`xrange`](https://python-all.ru/2.7/library/functions.html#xrange).

#### `types.SliceType`

Тип объектов, возвращаемых [`slice()`](https://python-all.ru/2.7/library/functions.html#slice); псевдоним встроенного [`slice`](https://python-all.ru/2.7/library/functions.html#slice).

#### `types.EllipsisType`

Тип `Ellipsis`.

#### `types.TracebackType`

Тип объектов traceback, таких как в `sys.exc_traceback`.

#### `types.FrameType`

Тип объектов фреймов, которые можно найти в `tb.tb_frame`, если `tb` является объектом traceback.

#### `types.BufferType`

Тип буферных объектов, создаваемых функцией [`buffer()`](https://python-all.ru/2.7/library/functions.html#buffer).

#### `types.DictProxyType`

Тип прокси-словарей, таких как `TypeType.__dict__`.

#### `types.NotImplementedType`

Тип `NotImplemented`

#### `types.GetSetDescriptorType`

Тип объектов, определенных в модулях расширения с помощью `PyGetSetDef`, таких как `FrameType.f_locals` или `array.array.typecode`. Этот тип используется в качестве дескриптора атрибутов объектов; он имеет то же назначение, что и тип [`property`](https://python-all.ru/2.7/library/functions.html#property), но для классов, определенных в модулях расширения.

Новое в версии 2.5.

#### `types.MemberDescriptorType`

Тип объектов, определённых в модулях расширения с помощью `PyMemberDef`, таких как `datetime.timedelta.days`. Этот тип используется как дескриптор для простых элементов данных C, которые используют стандартные функции преобразования; он имеет то же назначение, что и тип [`property`](https://python-all.ru/2.7/library/functions.html#property), но для классов, определённых в модулях расширения.

**Особенность реализации CPython:** В других реализациях Python этот тип может быть идентичен `GetSetDescriptorType`.

Новое в версии 2.5.

#### `types.StringTypes`

Последовательность, содержащая `StringType` и `UnicodeType`, используемая для упрощения проверки любого строкового объекта. Использование этого более переносимо, чем использование последовательности двух строковых типов, созданной в другом месте, поскольку она содержит `UnicodeType` только в том случае, если он был встроен в работающую версию Python. Например: `isinstance(s, types.StringTypes)`.

Новое в версии 2.2.
