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

⚡ Nutikas kokkuvõte

Python type() ja isinstance() on sisseehitatud funktsioonid objekti klassi kontrollimiseks. type() tagastab täpse tüübi, samas kui isinstance() kontrollib, kas objekt kuulub klassi või klasside paari. Mõlemad on siin näidetega näidatud.

  • 🔍 tüüp(): Tagastab objekti täpse klassi, näiteks str, int või list.
  • isinstance(): Kontrollib, kas objekt on antud klassi eksemplar, tagastades väärtuse True (tõene) või False (väär).
  • 🧩 Kolme argumendiga tüüp(): type(nimi, baasid, sõnastik) loob dünaamiliselt uue klassiobjekti.
  • 🌳 Alamklassid: isinstance() tagastab alamklasside puhul väärtuse True; type() kontrollib ainult täpset klassi.
  • 🎯 Kasutusjuhtumid: Sisendi tüüpide, silumismuutujate ja hargnemisloogika valideerimine objektitüübi järgi.
  • 🤖 Tehisintellekti abi: Tehisintellekti tööriistad, näiteks Copilot, genereerivad nõudmisel type() ja isinstance() kontrolle.

type() ja isinstance() in Python

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.

KKK

type() on sisseehitatud funktsioon, mis tagastab objekti klassi. Ühe argumendi edastamisel annab see objekti tüübi; kolme argumendi edastamisel (nimi, baasid, sõnastik) loob see uue klassi.

isinstance(object, classtype) kontrollib, kas objekt on klassi või klasside paari eksemplar. Tagastab True, kui tüüp sobib, ja False, kui see sobib.

type() tagastab objekti täpse klassi ja ignoreerib pärimist, samas kui isinstance() tagastab True väärtuse ka alamklasside puhul. Kasutage isinstance() paindlike tüübikontrollide jaoks, mis austavad klasside hierarhiaid.

Jah. Funktsiooni type(nimi, baasid, dict) kutsumine kolme argumendiga tagastab dünaamiliselt uue klassiobjekti. nimi on klassi nimi, baasid on vanemate järjestus ja dict sisaldab atribuute.

Jah. isinstance() tagastab väärtuse True, kui objekt on klassi või selle alamklassi eksemplar. See muudab selle päritud tüüpide kontrollimiseks turvalisemaks kui type().

Tehisintellekti assistendid, näiteks GitHub Copilot, täidavad automaatselt type() ja isinstance() kontrolle, genereerivad valideerimiskaitseid ja pakuvad kirjutamise ajal antud objekti jaoks õiget lähenemisviisi. Python.

Jah. Tehisintellektil põhinevad tööriistad suudavad automatiseerida isinstance() kaitsete lisamise, tuvastada kontrollimata sisendeid ja muuta habras type() võrdlused turvalisemateks isinstance() kontrollideks kogu teie koodibaasis.

type() tagastab väärtusele vastava klassiobjekti: list loendi puhul ja dict sõnastiku puhul. Selle väljatrükkimine näitab vormi nagu class list või class dict.

Võta see postitus kokku järgmiselt: