Функцията type () или връща типа на обекта, или връща нов тип обект въз основа на предадените аргументи.
В type()
функция има две различни форми:
тип (обект) тип (име, основи, дикт)
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 () С име, бази и параметри на дикта
Ако се предадат три параметъра 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'