English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Python

Контроль потока в Python

Функции Python

Типы данных Python

Файловые операции в Python

Объекты и классы в Python

Даты и время в Python

Высокий уровень знаний Python

Руководство по Python

Метод использования и примеры функции type() в Python

Внутренние функции Python

Функция type() возвращает тип объекта, переданного в нее, или создает новый тип объекта.

Функция type() имеет два разных формата:

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

Функция type() с одним объектным параметром

Если передать объект в функцию type(), она вернет его тип.

Пример 1: Получение типа объекта

numbers_list = [1, 2]
print(type(numbers_list))
numbers_dict = {1: 'one', 2: 'two'}
print(type(numbers_dict))
class Foo:
    a = 0
foo = Foo()
print(type(foo))

Результат вывода

<class 'dict'>
<class 'Foo'>
<class '__main__.Foo'>

Если нужно проверить тип объекта, лучше использоватьФункция isinstance() в Python. Это потому, что функция isinstance() также проверяет, является ли предоставленный объект экземпляром subclasses.

У function type() есть параметры name, bases и dict

Если передать три параметра в type(), то он вернет новыйtypeобъект.

Эти три параметра:

ПараметрыОписание
nameИмя класса; становится свойством __name__
basesПеречисление суперклассов в кортеже; становится свойством __bases__
dictСловарь, который содержит命名ное пространство определения класса; становится свойством __dict__

Пример 2: Создание объекта типа

o1 = type('X', (object,), dict(a='Foo', b=12))
print(type(o1))
print(vars(o1))
class test:
  a = 'Foo'
  b = 12
  
o2 = type('Y', (test,), dict(a='Foo', b=12))
print(type(o2))
print(vars(o2))

Результат вывода

<class 'type'>
{'b': 12, 'a': 'Foo', '__dict__': <attribute '__dict__' of 'X' objects>, '__doc__': None, '__weakref__': <attribute '__weakref__' of 'X' objects>}
<class 'type'>
{'b': 12, 'a': 'Foo', '__doc__': None}

В программе мы используемФункция vars() PythonЧтобы вернуться к свойству __dict__. __dict__ используется для хранения的可写的 свойств объекта.

Вы можете легко изменить эти свойства по своему усмотрению. Например, если вы хотите изменить значение свойства __name__ o1 на 'Z', используйте:

o1.__name = 'Z'

Внутренние функции Python