Type () и isinstance () в Python с примерами

Содержание:

Anonim

Что такое type () в Python?

Python имеет встроенную функцию type (), которая помогает вам найти тип класса переменной, заданной в качестве входных данных. Например, если ввод является строкой, вы получите вывод как , для списка это будет и т. Д.

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

Также можно передать три аргумента в type (), то есть тип (имя, базы, dict), в этом случае он вернет вам объект нового типа.

В этом руководстве вы узнаете:

  • Что такое type () в Python?
  • Синтаксис для type ():
  • Пример типа ()
  • Пример: использование type () для объекта класса.
  • Пример: использование имени, баз и словаря в type ()
  • Что такое isinstance () в Python?
  • Синтаксис isinstance ():
  • Примеры isinstance ()
  • Разница между type () и isinstance () в Python

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

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

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

Параметры : тип (объект)

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

Параметры : тип (название, базы, dict)

  • name: название класса.
  • базы: (необязательно). Это необязательный параметр, это базовый класс.
  • dict: (необязательно). Это необязательный параметр, и это пространство имен, в котором есть определение класса.

Возвращаемое значение:

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

Если параметры, переданные в тип, являются типом (объект, базы, 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 ()

Тип также можно вызвать с помощью синтаксиса: type (name, base, dict).

Три параметра, переданные в type (), то есть name, base и dict, являются компонентами, составляющими определение класса. Имя представляет имя класса, base - это базовый класс, а dict - это словарь атрибутов базового класса.

В этом примере мы собираемся использовать все три параметра, то есть name, base и dict, в type ().

Пример:

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 () принимает два аргумента и возвращает истину, если первый аргумент является экземпляром classinfo, заданного в качестве второго аргумента.

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

isinstance(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 с типом 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) с типом tuple. Он вернет истину, если введенный вход имеет тип кортежа, и ложь, если нет.

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}, с типом set. Он вернет 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] с типом list. Он вернет true, если введенный вход относится к типу list, и false, если нет.

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

Выход:

my_list is a list: True

Пример: isinstance () dict check

Код проверяет 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

Разница между type () и isinstance () в Python

тип() isinstance ()
Python имеет встроенную функцию type (), которая помогает вам найти тип класса переменной, заданной в качестве входных данных. Python имеет встроенную функцию isinstance (), которая сравнивает значение с заданным типом. Если заданное значение и тип совпадают, он вернет 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).
  • Также можно передать три аргумента в type (), то есть тип (имя, базы, dict), в этом случае он вернет вам объект нового типа.
  • Python имеет встроенную функцию instance (), которая сравнивает значение с заданным типом. Если заданное значение и тип совпадают, он вернет true, в противном случае - false. Используя isinstance (), вы можете проверить строку, float, int, list, tuple, dict, set, class и т. Д.
  • Используя метод isinstance (), вы можете проверить строку, float, int, list, tuple, dict, set, class и т. Д.