Функция type () либо возвращает тип объекта, либо возвращает объект нового типа на основе переданных аргументов.
type()
Функция имеет две различные формы:
тип (объект) тип (имя, базы, 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))
Вывод
Если вам необходимо проверить тип объекта, лучше использовать функцию Python isinstance (). Это потому, что isinstance()
функция также проверяет, является ли данный объект экземпляром подкласса.
type () с именем, базами и dict Параметры
Если переданы три параметра type()
, он возвращает объект нового типа .
Три параметра:
Параметр | Описание |
---|---|
имя | название класса; становится __name__ атрибутом |
базы | кортеж, определяющий базовый класс; становится __bases__ атрибутом |
диктовать | словарь, который представляет собой пространство имен, содержащее определения для тела класса; становится __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))
Вывод
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Нет) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': нет)
В программе мы использовали функцию Python vars (), которая возвращает __dict__
атрибут. __dict__
используется для хранения доступных для записи атрибутов объекта.
При необходимости вы можете легко изменить эти атрибуты. Например, если вам нужно изменить __name__
атрибут o1 на 'Z'
, используйте:
o1 .__ name = 'Z'