Type () ir isinstance () Python su pavyzdžiais

Kas yra „Python“ tipas ()?

„Python“ turi įmontuotą funkciją, vadinamą type (), kuri padeda rasti kintamojo, nurodyto kaip įvestis, klasės tipą. Pavyzdžiui, jei įvestis yra eilutė, išvestį gausite kaip , sąrašui tai bus ir kt.

Naudodami komandą type (), galite perduoti vieną argumentą, o grąžinimo vertė bus nurodyto argumento klasės tipas, pvz .: type (object).

Taip pat galima perduoti tris argumentus tipui (), ty tipui (vardas, pagrindai, diktas), tokiu atveju jums bus grąžintas naujo tipo objektas.

Šioje pamokoje sužinosite:

  • Kas yra „Python“ tipas ()?
  • Tipo () sintaksė:
  • Tipo () pavyzdys
  • Pavyzdys: tipo objekto () naudojimas klasės objektui.
  • Pavyzdys: vardo, pagrindo ir diktanto naudojimas tipo ()
  • Kas yra „isinstance“) „Python“?
  • Sintaksės esmė ():
  • Isinstance () pavyzdžiai
  • „Python“ tipo () ir izinstance () skirtumas

Tipo () sintaksė:

tipą () galima naudoti dviem būdais, kaip parodyta žemiau:

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

Parametrai : tipas (objektas)

  • objektas: Tai yra privalomas parametras. Jei tai yra tik parametras, perduotas tipui (), jis grąžins jums parametro tipą.

Parametrai : tipas (pavadinimas, pagrindai, diktantas)

  • pavadinimas: klasės pavadinimas.
  • pagrindai: (neprivaloma). Tai yra pasirinktinis parametras, ir tai yra pagrindinė klasė
  • diktuoti: (neprivaloma). Tai yra pasirinktinis parametras ir tai yra vardų sritis, turinti klasės apibrėžimą.

Grąžinimo vertė:

Jei objektas yra vienintelis parametras, perduotas tipui (), jis grąžins jums objekto tipą.

Jei tipui perduoti parametrai yra tipas (objektas, pagrindai, diktas), tokiu atveju jis grąžins naujo tipo objektą.

Tipo () pavyzdys

Šiame pavyzdyje turime eilutės vertę, skaičių, plūduriuojančią vertę, kompleksinį skaičių, sąrašą, paketą, diktą ir rinkinį. Norėdami pamatyti kiekvieno iš jų išvestį, naudosime kintamuosius su tipu.

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

Išvestis:

The type is :The type is :The type is :The type is :The type is :The type is :The type is :The type is :

Pavyzdys: tipo objekto () naudojimas klasės objektui.

Kai patikrinsite objektą, sukurtą iš klasės, naudodami tipą (), jis grąžins klasės tipą kartu su klasės pavadinimu. Šiame pavyzdyje sukursime klasę ir patikrinsime objekto tipą, sukurtą iš klasės testo.

class test:s = 'testing't = test()print(type(t))

Išvestis:

Pavyzdys: vardo, pagrindo ir diktanto naudojimas tipo ()

Tipą taip pat galima vadinti naudojant sintaksę: type (vardas, pagrindai, dict).

Trys parametrai, perduoti tipui (), ty pavadinimas, pagrindai ir diktatas, yra komponentai, kurie sudaro klasės apibrėžimą. Pavadinimas reiškia klasės pavadinimą, pagrindai yra pagrindinė klasė, o „dict“ yra bazinės klasės atributų žodynas.

Šiame pavyzdyje mes ketiname naudoti visus tris parametrus, ty pavadinimą, pagrindus ir diktanto tipą ().

Pavyzdys:

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

Išvestis:

{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

Kai perduodate visus tris argumentus, norėdami įvesti (), tai padės jums inicijuoti naują klasę su pagrindinės klasės atributais.

Kas yra „isinstance“) „Python“?

„Python isinstance“ yra integruotų pitono funkcijų dalis. „Python isinstance“) pateikia du argumentus ir grąžina vertę „true“, jei pirmasis argumentas yra klasės informacijos pavyzdys, pateiktas kaip antrasis argumentas.

Sintaksės esmė ()

isinstance(object, classtype)

Parametrai

  • objektas: objektas, kurio egzempliorių lyginate su klasikiniu tipu. Jis bus teisingas, jei tipas atitiks neteisingą.
  • klasės tipas: tipas arba klasė, arba tipų ir (arba) klasių paketas.

Grąžinimo vertė:

Tai bus teisinga, jei objektas yra klasifikacijos tipo, o klaidingas, jei ne.

Isinstance () pavyzdžiai

Šiame skyriuje mes ištirsime įvairius pavyzdžius, kad sužinotume isinstance ()

Pavyzdys: isinstance () sveiko skaičiaus patikrinimas

Žemiau pateiktas kodas palygina sveiką skaičių 51 su int tipu. Tai pateiks teisingą 51 atitikties tipą su int, kitaip neteisingu.

age = isinstance(51,int)print("age is an integer:", age)

Išvestis:

age is an integer: True

Pavyzdys: isinstance () Float check

Šiame pavyzdyje mes ketiname palyginti plūdės reikšmę su tipo plūduriu, ty 3,14 reikšmė bus lyginama su plūdės tipu.

pi = isinstance(3.14,float)print("pi is a float:", pi)

Išvestis:

pi is a float: True

Pavyzdys: isinstance () eilutės patikrinimas

message = isinstance("Hello World",str)print("message is a string:", message)

Išvestis:

message is a string: True

Pavyzdys: isinstance () Tuple check

Kodas tikrina po kelis (1,2,3,4,5) su tipo paketu. Ji bus teisinga, jei pateikta įvestis bus „tuple“ tipo, o „false“ - jei ne.

my_tuple = isinstance((1,2,3,4,5),tuple)print("my_tuple is a tuple:", my_tuple)

Išvestis:

my_tuple is a tuple: True

Pavyzdys: isinstance () Set check

Kodas tikrina rinkinį ({1,2,3,4,5}, su tipo rinkiniu. Jis grąžins „true“, jei pateiktas įvesties tipas yra rinkinys, o jei ne, - klaidingas.

my_set = isinstance({1,2,3,4,5},set)print("my_set is a set:", my_set)

Išvestis:

my_set is a set: True

Pavyzdys: isinstance () sąrašo patikrinimas

Kodas tikrina sąrašą [1,2,3,4,5] su tipų sąrašu. Ji grįš teisinga, jei pateikta įvestis bus tipo sąrašo, o klaidinga, jei ne.

my_list = isinstance([1,2,3,4,5],list)print("my_list is a list:", my_list)

Išvestis:

my_list is a list: True

Pavyzdys: isinstance () dict check

Kodas tikrina, ar nėra diktato ({"A": "a", "B": "b", "C": "c", "D": "d"}, su tipo dict. Jis bus teisingas, jei pateiktas įvestis yra dict tipo ir klaidinga, jei ne.

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)print("my_dict is a dict:", my_dict)

Išvestis:

my_dict is a dict: True

Pavyzdys: klasės „isinstance ()“ testas

Kodas rodo klasės tipą su isinstance (). Klasės objektas lyginamas su klasės pavadinimu isinstance (). Jis grąžina teisingumą, jei objektas priklauso klasei, o klaidingas - kitaip.

class MyClass:_message = "Hello World"_class = MyClass()print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

Išvestis:

_class is a instance of MyClass() True

„Python“ tipo () ir izinstance () skirtumas

tipas () isinstance ()
„Python“ turi įmontuotą funkciją, vadinamą type (), kuri padeda rasti kintamojo, nurodyto kaip įvestis, klasės tipą. „Python“ turi integruotą funkciją, vadinamą isinstance (), kuri lygina vertę su nurodytu tipu. Jei pateikta vertė ir tipas sutampa, ji bus teisinga, kitaip neteisinga.
Grąžinimo vertė yra tipo objektas Grąžinimo vertė yra Bulio reikšmė, ty teisinga arba klaidinga.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)
Išvestis:
TrueFalse
Tipo atveju poklasio patikrinimas suteikia klaidingą reikšmę.
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))
Išvestis:
TrueTrue
isinstance () suteikia tikrąją vertę, kai patikrinama su poklasiu.

Santrauka:

  • „Python“ turi įmontuotą funkciją, vadinamą type (), kuri padeda rasti kintamojo, nurodyto kaip įvestis, klasės tipą. Pavyzdžiui, jei įvestis yra eilutė, išvestį gausite kaip , sąrašui tai bus ir kt.
  • Tipui () galite perduoti vieną argumentą, o grąžinimo vertė bus nurodyto argumento klasės tipas, pvz., Type (objektas).
  • Taip pat galima perduoti tris argumentus tipui (), ty tipui (vardas, pagrindai, diktas), tokiu atveju jums bus grąžintas naujo tipo objektas.
  • „Python“ turi įmontuotą funkciją, vadinamą instance (), kuri lygina vertę su nurodytu tipu. Pateikta vertė ir tipas atitiks teisingą, kitaip neteisingą. Naudodami isinstance (), galite patikrinti eilutę, plūdę, int, sąrašą, paketą, diktą, rinkinį, klasę ir kt.
  • Naudodami isinstance () metodą, galite patikrinti eilutę, plūdę, int, sąrašą, paketą, diktą, rinkinį, klasę ir kt.

Įdomios straipsniai...