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

Съдържание:

Anonim

Какво е type () в Python?

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

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

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

В този урок ще научите:

  • Какво е type () в Python?
  • Синтаксис за тип ():
  • Пример за тип ()
  • Пример: Използване на type () за обект на клас.
  • Пример: Използване на името, основите и дикта в тип ()
  • Какво е isinstance () в Python?
  • Синтаксис isinstance ():
  • Примери за isinstance ()
  • Разлика между type () и isinstance () в Python

Синтаксис за тип ():

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

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

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

  • обект: Това е задължителен параметър. Ако това е само параметър, предаден на type (), тогава той ще ви върне типа на параметъра.

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

  • name: име на класа.
  • бази: (по избор). Това е незадължителен параметър и е базовият клас
  • dict: (по избор). Това е незадължителен параметър и е пространство от имена, което има дефиницията на класа.

Възвръщаема стойност:

Ако обектът е единственият параметър, предаден на type (), той ще ви върне типа на обекта.

Ако параметрите, предадени на тип, са тип (обект, бази, дикт), в такъв случай той ще върне нов тип обект.

Пример за тип ()

В този пример имаме стойност на низ, число, плаваща стойност, комплексно число, списък, кортеж, дикт и набор. Ще използваме променливите с type, за да видим изхода за всяка от тях.

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))

Изход:

Пример: Използване на името, основите и дикта в тип ()

Типът може да бъде извикан и с помощта на синтаксиса: тип (име, бази, dict).

Трите параметъра, предадени на type (), т.е. име, бази и dict са компонентите, които съставят дефиниция на клас. Името представлява името на класа, bases е базовият клас, а dict е речникът на атрибутите на базовия клас.

В този пример ще използваме и трите параметри, т.е. име, бази и 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 () приема два аргумента и връща 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 с тип 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], със списък с типове. Той ще върне вярно, ако въведеният вход е от списък с типове и фалшив, ако не.

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 ()

Кодът проверява за дикт ({"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.
Връщаната стойност е тип обект Връщаната стойност е булева стойност, т.е. 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 (), т.е. type (name, bases, dict), в такъв случай ще ви върне нов тип обект.
  • Python има вградена функция, наречена instance (), която сравнява стойността с дадения тип. Ако зададената стойност и тип съвпадат, тя ще върне true иначе false. Използвайки isinstance (), можете да тествате за низ, float, int, list, tuple, dict, set, class и т.н.
  • Използвайки метода isinstance (), можете да тествате за низ, float, int, list, tuple, dict, set, class и т.н.