type() и isinstance() в Python с примерами
Что такое type() в Python?
В Python есть встроенная функция type(), которая помогает найти тип класса переменной, переданной в качестве входных данных. Например, если ввод представляет собой строку, вы получите вывод как
Используя команду type(), вы можете передать один аргумент, и возвращаемое значение будет типом класса данного аргумента, например:type(object).
Также можно передать три аргумента в type(), т. е. type(name, bases, dict), в таком случае он вернет вам объект нового типа.
Из этого руководства вы узнаете:
- Что такое type() в Python?
- Синтаксис для type():
- Пример type()
- Пример:использование type() для объекта класса.
- Пример:использование имени, базы и dict в type()
- Что такое isinstance() в Python?
- Синтаксис isinstance():
- Примеры isinstance()
- Разница между type() и isinstance() в Python
Синтаксис для type():
type() можно использовать двумя способами, как показано ниже:
type(object) type(namr, bases, dict)
Параметры :тип(объект)
- object:это обязательный параметр. Если это единственный параметр, переданный в type(), он вернет вам тип параметра.
Параметры :type(name, bases, dict)
- name:имя класса.
- базы:(необязательно). Это необязательный параметр, и он является базовым классом
- дикт:(необязательно). Это необязательный параметр, и это пространство имен, содержащее определение класса.
Возвращаемое значение:
Если объект является единственным параметром, переданным в 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)
Параметры
- object:объект, экземпляр которого вы сравниваете с типом класса. Он вернет 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. Он вернет 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 есть встроенная функция type(), которая помогает найти тип класса переменной, переданной в качестве входных данных. Например, если ввод представляет собой строку, вы получите вывод как
, для списка это будет и т. д. - Для type() можно передать один аргумент, а возвращаемое значение будет типом класса переданного аргумента, например, type(object).
- Также можно передать три аргумента функции type(), т. е. type(name, bases, dict), в таком случае он вернет вам объект нового типа.
- В Python есть встроенная функция instance(), которая сравнивает значение с заданным типом. Если заданное значение и тип совпадают, он вернет true, в противном случае false. Используя isinstance(), вы можете проверить строку, число с плавающей запятой, целое число, список, кортеж, словарь, набор, класс и т. д.
- Используя метод isinstance(), вы можете проверить строку, число с плавающей запятой, целое число, список, кортеж, словарь, набор, класс и т. д.
Python
- Выражения, операторы и блоки C# (с примерами)
- Преобразование типов Python и приведение типов
- Числа Python, преобразование типов и математика
- Создание роботов с Raspberry Pi и Python
- Количество строк Python() с ПРИМЕРАМИ
- Python String format() Объясните с ПРИМЕРАМИ
- Метод Python String find() с примерами
- Лямбда-функции Python с ПРИМЕРАМИ
- Функция Python round() с ПРИМЕРАМИ
- Функция Python map() с ПРИМЕРАМИ