Что такое type () в Python?
В Python есть встроенная функция type (), которая помогает вам найти тип класса переменной, заданной в качестве входных данных. Например, если вход является строкой, вы получите вывод в виде <class ‘str’>, для списка это будет <class ‘list’> и т. Д.
Используя команду type (), вы можете передать один аргумент, и возвращаемое значение будет типом класса данного аргумента, например: type (object).
Также возможно передать три аргумента в type (), то есть type (name, base, dict), в таком случае он вернет вам объект нового типа.
В этом уроке вы узнаете:
- Что такое type () в Python?
- Синтаксис для типа ():
- Пример типа ()
- Пример: использование type () для объекта класса.
- Пример: использование имени, оснований и dict в type ()
- Что такое isinstance () в Python?
- Синтаксис isinstance ():
- Примеры isinstance ()
- Разница между типом () и isinstance () в Python
Синтаксис для типа ():
type () может использоваться двумя способами, как показано ниже:
type(object) type(namr, bases, dict)
Параметры : тип (объект)
- объект: это обязательный параметр. Если это только параметр, переданный в type (), он вернет вам тип параметра.
Параметры : тип (имя, основания, дикт)
- имя: название класса.
- Основы: (необязательно). Это необязательный параметр, и это базовый класс
- dict: (необязательно). Это необязательный параметр, и это пространство имен, которое имеет определение класса.
Возвращаемое значение:
Если объект является единственным параметром, переданным type (), он вернет вам тип объекта.
Если параметры, передаваемые типу, являются типом (объект, базы, dict), в таком случае он вернет объект нового типа.
Пример типа ()
В этом примере у нас есть строковое значение, число, значение с плавающей запятой, комплексное число, список, кортеж, dict и set. Мы будем использовать переменные с типом, чтобы увидеть выходные данные для каждой из них.
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 ()
Тип также может быть вызван с использованием синтаксиса: тип (имя, базы, dict).
Три параметра, передаваемые в type (), т. Е. Name, base и dict, являются компонентами, составляющими определение класса. Имя представляет имя класса, base — это базовый класс, а 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 is part of python built-in functions. Python isinstance() takes in two arguments, and it returns true if the first argument is an instance of the classinfo given as the second argument.
Syntax isinstance()
isinstance(object, classtype)
Parameters
- object: An object whose instance you are comparing with classtype. It will return true if the type matches otherwise false.
- class type: A type or a class or a tuple of types and/or classes.
Return value:
It will return true if the object is an instance of classtype and false if not.
Examples of isinstance()
In this section, we will study various examples to learn isinstance()
Example : isinstance() Integer check
The code below compares integer value 51 with type int. It will return true it the type of 51 matches with int otherwise false.
age = isinstance(51,int) print("age is an integer:", age)
Output:
age is an integer: True
Example : isinstance() Float check
In this example we are going to compare the float value with type float i.e. 3.14 value will be compare with type float.
pi = isinstance(3.14,float) print("pi is a float:", pi)
Output:
pi is a float: True
Example: isinstance() String check
message = isinstance("Hello World",str) print("message is a string:", message)
Output:
message is a string: True
Example : isinstance() Tuple check
The code checks for a tuple (1,2,3,4,5) with type tuple. It will return true if the input given is of type tuple and false if not.
my_tuple = isinstance((1,2,3,4,5),tuple) print("my_tuple is a tuple:", my_tuple)
Output:
my_tuple is a tuple: True
Example : isinstance() Set check
Код проверяет набор ({1,2,3,4,5} с заданным типом. Он вернет истину, если заданный тип ввода задан, и ложь, если нет.
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. Он вернет истину, если данный ввод имеет тип списка, и ложь, если нет.
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
Разница между типом () и 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) Вывод: True 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 (), которая помогает вам найти тип класса переменной, заданной в качестве входных данных. Например, если вход является строкой, вы получите вывод в виде <class ‘str’>, для списка это будет <class ‘list’> и т. Д.
- Для type () вы можете передать один аргумент, и возвращаемое значение будет типом класса данного аргумента, например, type (object).
- Также возможно передать три аргумента в type (), то есть type (name, base, dict), в таком случае он вернет вам объект нового типа.
- В Python есть встроенная функция instance (), которая сравнивает значение с указанным типом. Если данное значение и тип соответствуют, он вернет true, иначе false. Используя isinstance (), вы можете проверить строку, число с плавающей точкой, int, список, кортеж, dict, set, class и т. Д.
- Используя метод isinstance (), вы можете проверить строку, число с плавающей точкой, int, список, кортеж, dict, set, class и т. Д.