Тип Python ()

Функція 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 () З іменем, основами та параметрами 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'

Цікаві статті...