Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

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

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

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

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

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

Из этого руководства вы узнаете:

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

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

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


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

Параметры :type(name, bases, dict)

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

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

Если параметры, переданные типу, являются типом (объект, базы, словарь), в таком случае он вернет новый тип объекта.

Пример type()

В этом примере у нас есть строковое значение, число, значение с плавающей запятой, комплексное число, список, кортеж, dict и набор. Мы будем использовать переменные с типом, чтобы увидеть вывод для каждой из них.

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_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 :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>

Пример:использование type() для объекта класса.

Когда вы проверяете объект, созданный из класса, с помощью type(), он возвращает тип класса вместе с именем класса. В этом примере мы создадим класс и проверим тип объекта, созданный из теста класса.

class test:
    s = 'testing'

t = test()
print(type(t))

Вывод:

<class '__main__.test'>

Пример:использование имени, базы и dict в type()

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

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

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

Пример:

class MyClass:
  x = 'Hello World'
  y = 50

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

Вывод:

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

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

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

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

Синтаксис экземпляра()

isinstance(object, classtype)

Параметры

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

Он вернет 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. Он вернет true, если входные данные имеют тип tuple, и 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, если заданный ввод имеет тип 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({"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

тип() экземпляр()
В 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)

Вывод:

True
False

В случае типа проверка подкласса возвращает false.

class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(isinstance(A(), A))
print(isinstance(B(), A))

Вывод:

True
True

isinstance() дает истинное значение при проверке с подклассом.

Обзор:


Python

  1. Выражения, операторы и блоки C# (с примерами)
  2. Преобразование типов Python и приведение типов
  3. Числа Python, преобразование типов и математика
  4. Создание роботов с Raspberry Pi и Python
  5. Количество строк Python() с ПРИМЕРАМИ
  6. Python String format() Объясните с ПРИМЕРАМИ
  7. Метод Python String find() с примерами
  8. Лямбда-функции Python с ПРИМЕРАМИ
  9. Функция Python round() с ПРИМЕРАМИ
  10. Функция Python map() с ПРИМЕРАМИ