Python Glossary English

все Python 3Типы данныхфункция

type()

интроспекция

Встроенная функция, возвращающая тип объекта. С одним аргументом возвращает тип; с тремя — создаёт новый класс динамически.

Синтаксис

type(object) -> type
type(name, bases, dict) -> type

Для проверки типа обычно нужен isinstance, а не type(x) == C: type() возвращает ровно класс объекта и игнорирует наследование, поэтому type(True) — это bool, а не int. Форма с тремя аргументами — низкоуровневый конструктор классов (то, что вызывает metaclass), в обычном коде почти не встречается.

Примеры

print(type(42))  # → <class 'int'>
print(type(3.14))  # → <class 'float'>
print(type("hi"))  # → <class 'str'>
print(type(True))  # → <class 'bool'>
print(type(None))  # → <class 'NoneType'>
x = 42
print(type(x) == int)  # → True (сравнение типов)
print(type(True) == type(1))  # → False (bool != int при type())
A = type("A", (), {"x": 42})  # три аргумента — динамическое создание класса
print(A.x)  # → 42

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности