все 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Сообщить о неточности