Какво е 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))Изход: TrueTrueisinstance () дава вярна стойност, когато се проверява с подклас. |
Резюме:
- 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 и т.н.