Type () та isinstance () у Python з прикладами

Зміст:

Anonim

Що таке type () у Python?

Python має вбудовану функцію з назвою type (), яка допомагає знайти тип класу змінної, заданої як вхід. Наприклад, якщо введенням є рядок, ви отримаєте результат як , для списку це буде тощо.

Використовуючи команду type (), ви можете передати один аргумент, а повернене значення буде типом класу аргументу, наприклад: type (object).

Також можна передати три аргументи типу (), тобто типу (ім'я, бази, dict), у такому випадку він поверне вам новий об'єкт типу.

У цьому підручнику ви дізнаєтесь:

  • Що таке type () у Python?
  • Синтаксис для типу ():
  • Приклад типу ()
  • Приклад: Використання type () для об'єкта класу.
  • Приклад: Використання імені, базису та дикту в типі ()
  • Що таке isinstance () у Python?
  • Синтаксис isinstance ():
  • Приклади isinstance ()
  • Різниця між типом () та isinstance () у Python

Синтаксис для типу ():

type () можна використовувати двома способами, як показано нижче:

type(object)type(namr, bases, dict)

Параметри : тип (об'єкт)

  • object: Це обов’язковий параметр. Якщо це лише параметр, переданий типу (), тоді він поверне вам тип параметра.

Параметри : тип (ім'я, основи, dict)

  • name: назва класу.
  • бази: (за бажанням). Це необов’язковий параметр, і це базовий клас
  • dict: (за бажанням). Це необов’язковий параметр, і це простір імен, що має визначення класу.

Повернене значення:

Якщо об'єкт є єдиним параметром, переданим типу (), він поверне вам тип об'єкта.

Якщо параметри, передані типу, є типом (об'єкт, бази, dict), у такому випадку він поверне новий тип об'єкта.

Приклад типу ()

У цьому прикладі ми маємо значення рядка, число, плаваюче значення, комплексне число, список, кортеж, dict та set. Ми будемо використовувати змінні з типом, щоб побачити вихідні дані для кожної з них.

str_list = "Welcome to Guru99"age = 50pi = 3.14c_num = 3j+10my_list = ["A", "B", "C", "D"]my_tuple = ("A", "B", "C", "D")my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}my_set = {'A', 'B', 'C', 'D'}print("The type is : ",type(str_list))print("The type is : ",type(age))print("The type is : ",type(pi))print("The type is : ",type(c_num))print("The type is : ",type(my_list))print("The type is : ",type(my_tuple))print("The type is : ",type(my_dict))print("The type is : ",type(my_set))

Вихід:

The type is :The type is :The type is :The type is :The type is :The type is :The type is :The type is :

Приклад: Використання type () для об'єкта класу.

Коли ви перевіряєте об'єкт, створений з класу, використовуючи type (), він повертає тип класу разом з ім'ям класу. У цьому прикладі ми створимо клас і перевіримо тип об’єкта, створений за допомогою тесту класу.

class test:s = 'testing't = test()print(type(t))

Вихід:

Приклад: Використання імені, базису та дикту в типі ()

Тип також можна викликати, використовуючи синтаксис: type (ім'я, бази, dict).

Три параметри, передані типу (), тобто ім'я, бази та dict - це компоненти, що складають визначення класу. Ім'я представляє ім'я класу, основа - це базовий клас, а dict - словник атрибутів базового класу.

У цьому прикладі ми будемо використовувати всі три параметри, тобто ім’я, основи та dict у типі ().

Приклад:

class MyClass:x = 'Hello World'y = 50t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))print(type(t1))print(vars(t1))

Вихід:

{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

Коли ви передаєте всі три аргументи type (), це допомагає вам ініціалізувати новий клас за допомогою атрибутів базового класу.

Що таке isinstance () у Python?

Python isinstance є частиною вбудованих у python функцій. Python isinstance () приймає два аргументи, і він повертає true, якщо перший аргумент є екземпляром classinfo, заданим як другий аргумент.

Синтаксис isinstance ()

isinstance(object, classtype)

Параметри

  • object: об’єкт, екземпляр якого ви порівнюєте з classtype. Поверне true, якщо тип збігається з іншим false.
  • тип класу: тип або клас або набір типів та / або класів.

Повернене значення:

Він поверне true, якщо об'єкт є екземпляром classtype і false, якщо ні.

Приклади isinstance ()

У цьому розділі ми вивчимо різні приклади для вивчення isinstance ()

Приклад: isinstance () Ціла перевірка

У наведеному нижче коді порівняно ціле число 51 із типом int. Це поверне true, якщо тип 51 збігається з int, інакше false.

age = isinstance(51,int)print("age is an integer:", age)

Вихід:

age is an integer: True

Приклад: isinstance () Float check

У цьому прикладі ми збираємося порівняти значення float із типом float, тобто значення 3.14 буде порівняно з типом float.

pi = isinstance(3.14,float)print("pi is a float:", pi)

Вихід:

pi is a float: True

Приклад: isinstance () Перевірка рядка

message = isinstance("Hello World",str)print("message is a string:", message)

Вихід:

message is a string: True

Приклад: isinstance () Перевірка кортежу

Код перевіряє кортеж (1,2,3,4,5) з кортежем типу. Він поверне true, якщо введений тип має кортеж і false, якщо ні.

my_tuple = isinstance((1,2,3,4,5),tuple)print("my_tuple is a tuple:", my_tuple)

Вихід:

my_tuple is a tuple: True

Приклад: isinstance () Перевірка набору

Код перевіряє набір ({1,2,3,4,5}, із набором типів. Він поверне true, якщо введений тип має тип set ​​і false, якщо ні.

my_set = isinstance({1,2,3,4,5},set)print("my_set is a set:", my_set)

Вихід:

my_set is a set: True

Приклад: перевірка списку isinstance ()

Код перевіряє наявність списку [1,2,3,4,5] із списком типів. Він поверне true, якщо введене значення має тип type і false, якщо ні.

my_list = isinstance([1,2,3,4,5],list)print("my_list is a list:", my_list)

Вихід:

my_list is a list: True

Приклад: перевірка dict isinstance ()

Код перевіряє наявність dict ({"A": "a", "B": "b", "C": "c", "D": "d"}, із типом dict. Він поверне true, якщо введене значення має тип dict і false, якщо ні.

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)print("my_dict is a dict:", my_dict)

Вихід:

my_dict is a dict: True

Приклад: тест isinstance () для класу

Код показує перевірку типу класу за допомогою isinstance (). Об'єкт класу порівнюється з ім'ям класу всередині isinstance (). Повертає true, якщо об’єкт належить до класу, а false - інакше.

class MyClass:_message = "Hello World"_class = MyClass()print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

Вихід:

_class is a instance of MyClass() True

Різниця між типом () та isinstance () у Python

тип () isinstance ()
Python має вбудовану функцію з назвою type (), яка допомагає знайти тип класу змінної, заданої як вхід. Python має вбудовану функцію, яка називається isinstance (), яка порівнює значення із заданим типом. Якщо вказане значення та тип збігаються, це поверне true, інакше false.
Повернене значення - це об’єкт типу Повернене значення є логічним значенням, тобто true або false.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)
Вихід:
TrueFalse
У випадку типу перевірка підкласу повертає значення false.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))
Вихід:
TrueTrue
isinstance () дає достовірне значення, якщо перевірити його підкласом.

Короткий зміст:

  • Python має вбудовану функцію з назвою type (), яка допомагає знайти тип класу змінної, заданої як вхід. Наприклад, якщо введенням є рядок, ви отримаєте результат як , для списку це буде тощо.
  • Для type () ви можете передати один аргумент, а повернене значення буде типом класу заданого аргументу, наприклад, type (object).
  • Також можна передати три аргументи типу (), тобто типу (ім'я, бази, dict), у такому випадку він поверне вам новий об'єкт типу.
  • Python має вбудовану функцію, яка називається instance (), яка порівнює значення із заданим типом. Якщо значення та тип, що збігаються, поверне true, інакше false. Використовуючи isinstance (), ви можете перевірити рядок, float, int, list, tuple, dict, set, class тощо.
  • Використовуючи метод isinstance (), ви можете перевірити рядок, плаваючу, int, список, кортеж, dict, набір, клас тощо.