type() ja isinstance() in Python koos näidetega

Mis on kirjas type (). Python?

Python sisaldab sisseehitatud funktsiooni type(), mis aitab teil leida sisendiks antud muutuja klassitüüpi. Näiteks kui sisendiks on string, saate väljundi kujul , nimekirja jaoks saab see olema jne.

Käsu type() abil saate edastada ühe argumendi ja tagastatav väärtus on antud argumendi klassitüüp, näiteks type(object).

Samuti on võimalik sisestada kolm argumenti tüübile type(), st type(nimi, alused, dict), sel juhul tagastab see teile uue tüübiobjekti.

Süntaks tüübile ()

type() saab kasutada kahel viisil, nagu allpool näidatud:

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

parameetrid: tüüp (objekt)

  • objekt: see on kohustuslik parameeter. Kui see on ainult parameeter, mis edastatakse tüübile type (), tagastab see teile parameetri tüübi.

parameetrid: tüüp (nimi, alused, dikt)

  • nimi:klassi nimi.
  • alused: (valikuline). See on valikuline parameeter ja see on põhiklass
  • diktaat: (valikuline). See on valikuline parameeter ja see on nimeruum, millel on klassi määratlus.

Tagasi väärtus

Kui objekt on ainus parameeter, mis on antud tüübile type(), tagastab see teile objekti tüübi.

Kui tüübile edastatud parameetrid on tüüp (objekt, alused, diktaat), tagastab see sellisel juhul uut tüüpi objekti.

Tüübi () näide

Selles näites on meil stringi väärtus, number , ujuvväärtus, kompleksarv, loend, korteež , dikt ja hulk. Iga muutuja väljundi nägemiseks kasutame muutujaid tüübiga.

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

Väljund:

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

Näide: Type() kasutamine klassiobjekti jaoks.

Kui kontrollite klassist loodud objekti kasutades type(), tagastab see klassi tüübi koos klassi nimega. Selles näites loome klassi ja kontrollime klassitestist loodud objekti tüüpi.

class test:
    s = 'testing'

t = test()
print(type(t))

Väljund:

<class '__main__.test'>

Näide: nime, aluste ja diktaadi kasutamine tüübis type()

Tüüpi saab kutsuda ka süntaksi abil: tüüp(nimi, alused, diktaat).

Klassi määratluse moodustavad kolm parameetrit, mis edastatakse tüübile type()ie, name, bases ja dict. Nimi tähistab klassi nime, bases on põhiklass ja dict on põhiklassi atribuutide sõnastik.

Selles näites kasutame tüübis (tüüp) kõiki kolme parameetrit, st nime, aluseid ja dict.

Näide:

class MyClass:
  x = 'Hello World'
  y = 50

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

Väljund:

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

Kui edastate kõik kolm argumenti type() , aitab see teil lähtestada uut klassi põhiklassi atribuutidega.

Milles on isinstance() Python?

Python isinstance on osa pythoni sisseehitatud funktsioonid. Python isinstance() võtab kaks argumenti ja tagastab tõene, kui esimene argument on teise argumendina antud klassiinfo eksemplar.

Süntaksi isinstance()

isinstance(object, classtype)

parameetrid

  • objekt: objekt, mille eksemplari võrdlete klassitüübiga. See tagastab tõene, kui tüüp vastab muidu valele.
  • klassi tüüp: tüüp või klass või mitu tüüpi ja/või klasse.

Tagastusväärtus

See tagastab tõene, kui objekt on klassitüübi eksemplar, ja false, kui mitte.

Isinstance() näited

Selles jaotises uurime erinevaid näiteid, et õppida isinstance()

Näide: isinstance() Täisarvu kontroll

Allolev kood võrdleb täisarvu väärtust 51 tüübiga int. See tagastab tõene see tüüp 51 vastet int vastasel juhul vale.

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

Väljund:

age is an integer: True

Näide: isinstance() Float check

Selles näites võrdleme float väärtust tüübiga float, st väärtust 3.14 võrreldakse tüübiga float.

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

Väljund:

pi is a float: True

Näide: isinstance() String check

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

Väljund:

message is a string: True

Näide: isinstance() Korteri kontroll

Kood kontrollib korteeži (1,2,3,4,5) tüübikorteriga. See tagastab tõene, kui antud sisendi tüüp on kortee, ja false, kui mitte.

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

Väljund:

my_tuple is a tuple: True

Näide: isinstance() Määra kontroll

Kood kontrollib komplekti ({1,2,3,4,5}, mille tüüp on seatud. Tagastab tõene, kui antud sisendi tüüp on seatud, ja false, kui mitte.

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

Väljund:

my_set is a set: True

Näide: isinstance() loendi kontroll

Kood kontrollib loendit [1,2,3,4,5] koos tüübiloendiga. See tagastab tõene, kui antud sisend on tüübiloendis, ja false, kui mitte.

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

Väljund:

my_list is a list: True

Näide: isinstance() dict check

Kood kontrollib dict ({"A":"a", "B":"b", "C":"c", "D":"d"}, tüübiga dict. See tagastab tõene, kui antud sisend on tüüpi dict ja false, kui mitte.

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

Väljund:

my_dict is a dict: True

Näide: isinstance() test klassis

Kood näitab klassi tüübikontrolli koos isinstance() . Klassi objekti võrreldakse klassi nimega sees isinstance(). See tagastab tõene, kui objekt kuulub klassi, ja false muul juhul.

class MyClass:
    _message = "Hello World"

_class = MyClass()

print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

Väljund:

_class is a instance of MyClass() True

Erinevus tüüpi() ja isinstance() vahel in Python

tüüp () isinstance()
Python sisaldab sisseehitatud funktsiooni type(), mis aitab teil leida sisendiks antud muutuja klassitüüpi. Python sisaldab sisseehitatud funktsiooni nimega isinstance(), mis võrdleb väärtust antud tüübiga. Kui antud väärtus ja tüüp ühtivad, tagastab see tõene, vastasel juhul on vale.
Tagastusväärtus on tüüpobjekt Tagastusväärtus on tõeväärtus, st tõene või väär.
class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(type(A()) == A)
print(type(B()) == A)

Väljund:

True
False

Tüübi korral annab alamklassi kontroll tagasi vale.

class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(isinstance(A(), A))
print(isinstance(B(), A))

Väljund:

True
True

isinstance() annab alamklassiga kontrollimisel tõese väärtuse.

kokkuvõte

  • Python sisaldab sisseehitatud funktsiooni type(), mis aitab teil leida sisendiks antud muutuja klassitüüpi. Näiteks kui sisendiks on string, saate väljundi kujul , nimekirja jaoks saab see olema jne.
  • Type() puhul saate edastada ühe argumendi ja tagastatav väärtus on antud argumendi klassitüüp, nt type(object).
  • Samuti on võimalik sisestada kolm argumenti tüübile type(), st type(nimi, alused, dict), sel juhul tagastab see teile uue tüübiobjekti.
  • Python sisaldab sisseehitatud funktsiooni instance(), mis võrdleb väärtust antud tüübiga. Kui antud väärtus ja tüüp vastavad, tagastab see tõene, vastasel juhul on vale. Funktsiooni isinstance() abil saate testida stringi, hõljukit, int, loendit, korteeži, dikteerimist, komplekti, klassi jne.
  • Meetodit isinstance() kasutades saate testida stringi, ujuki, int, loendit, korteeži, dict, komplekti, klassi jne.

Võta see postitus kokku järgmiselt: