type (тип)
Основополагающий тип. Конструктор для динамических пользовательских типов.
type(obj) / type(name, bases, dict)
Один аргумент:
obj -- Объект, тип которого требуется определить.
Три аргумента:
name -- Имя для создаваемого типа (становится атрибутом '__name__');
bases -- Кортеж с родительскими классами (становится атрибутом '__bases__');
dict -- Словарь, который будет являться пространством имён для тела класса (становится атрибутом '__dict__').
obj -- Объект, тип которого требуется определить.
Три аргумента:
name -- Имя для создаваемого типа (становится атрибутом '__name__');
bases -- Кортеж с родительскими классами (становится атрибутом '__bases__');
dict -- Словарь, который будет являться пространством имён для тела класса (становится атрибутом '__dict__').
Типы данных определяют способности своих объектов (аспекты поведения) и возможные значения для них.
Способности — это операции, которые поддерживает объект (например, может ли объект быть умножен на другой объект) и свойства объекта (например, есть у объекта длина, является ли он изменяемым).
Встроенные типы перечислены в модуле
Пользовательские типы данных могут быть сконструированы налету (во время исполнения) при помощи вызова
Понятия класс и тип по сути являются синонимами, начиная с +py2.3 (см. описание в object).
1. Вызов
2. +py2.2 Вызов
Способности — это операции, которые поддерживает объект (например, может ли объект быть умножен на другой объект) и свойства объекта (например, есть у объекта длина, является ли он изменяемым).
На заметку
Важно понимать, что тип, как и другие сущности в Python, тоже является объектом.
type(object) # <class 'type'>
type(type) # <class 'type'>
type(int) # <class 'type'>
type(57) # <class 'int'>
class MyClass(object): pass
type(MyClass) # <class 'type'>
type(MyClass()) # <class '__main__.MyClass'>
isinstance(object, object) # True
isinstance(type, object) # True
type
— это тип всех типов (для, которых не указан явно иной метакласс);- тип object — это база для остальных типов.
Встроенные типы перечислены в модуле
types
.Пользовательские типы данных могут быть сконструированы налету (во время исполнения) при помощи вызова
type()
(с тремя аргументами) или определены в коде, например при помощи инструкции class. Понятия класс и тип по сути являются синонимами, начиная с +py2.3 (см. описание в object).
Вызов type
1. Вызов
type()
с одним аргументом позволяет получить тип указанного [аргументом] объекта (обычно возвращается тот же тип, что хранится в атрибуте объекта __class__). Однако для проверки соответствия типа объекта какому-либо типу (или нескольким) рекомендуется воспользоваться функцией isinstance(), ввиду того, что она принимает во внимание иерархию типов. my_var = 1
type(my_var) # <type 'int'>
2. +py2.2 Вызов
type()
с тремя аргументами позволяет сконструировать новый объект типа во время исполнения. # Определение типа при помощи инструкции class
class MyType: # Для Python 2 - MyType(object)
a = 1
# То же определение типа, но во время исполнения при помощи type()
MyType = type('MyType', (object,), {'a': 1})
Синонимы поиска: type (тип), классы, типы, istype, typeOf
В этом разделе:
basestring
Callable (вызываемый)
Container (контейнер)
Context Manager (менеджер контекста)
Descriptor (дескриптор)
Iterator (итератор)
Number (число)
object (объект)
type.__abstractmethods__
type.__base__
type.__bases__
type.__basicsize__
type.__dict__
type.__dictoffset__
type.__doc__
type.__flags__
type.__itemsize__
type.__module__
type.__mro__
type.mro
type.__name__
type.__sizeof__
unicode (юникод)
На заметку
Зарегистрированные пользователи могут публиковать свои Статьи.