logo

Kuinka tarkistaa objektin tyyppi Pythonissa

Tässä artikkelissa tutkimme olennaista taitoa objektin tyypin määrittämisessä Python . Ennen kuin aloitat toimintoja Python-ohjelmointikielellä olevan objektin kanssa, on välttämätöntä hallita tietoa sen tyypin tarkistamisesta. Tämä perustehtävä tulee vastaan ​​säännöllisesti, olitpa sitten henkilökohtaisen projektin tai monimutkaisen tuotantojärjestelmän parissa.

Tarkista Pythonin objektin tyyppi

Python tarjoaa useita menetelmiä objektin tyypin tunnistamiseen, joista yksinkertaisin on sisäänrakennettu type()-funktio, joka tarjoaa nopean tavan tarkistaa objektin tyyppi. Kehittyneemmät tekniikat, kuten tapaus () -toiminto tarjoaa luokkahierarkioiden ja perinnön käsittelyn edun. Aloitamme käymällä läpi sisäänrakennetun type()-funktion ja siirrymme sitten edistyneempiin menetelmiin, kuten tapaus ()-toiminto , __class__-ominaisuus ja muut.

Hae ja tulosta objektin tyyppi: type()

tyyppi() palauttaa objektin tyypin. Se on samanlainen kuin muiden ohjelmointikielien tyyppi, koska sitä voidaan käyttää muuttujan tai literaalin tyypin hakemiseen ja tulostamiseen.



Python 3




print>(>type>(>'string'>))> #> print>(>type>(>500>))> #> print>(>type>([>9>,>8>,>7>]))> #>

>

>

Lähtö

>

Hae ja tulosta objektin tyyppi: isinstance()

tapaus (objekti, tyyppi) palauttaa True, jos objektiargumentti on toimitetun tyyppiparametrin alaluokka tai esiintymä. Käytä monikkoa toisena vaihtoehtona eri tyyppien tarkistamiseen. Se palauttaa True, jos objekti on jonkin syötetyn tyypin esiintymä.

Python 3




print>(>isinstance>(>'string'>,>str>))> # True> print>(>isinstance>(>300>,>str>))> # False> print>(>isinstance>(>700>, (>int>,>str>)))> # True>

>

>

Lähtö

True False True>

Hanki ja tulosta objektin tyyppi: class__-attribuutti

Pythonissa kaikki on objektia, ja jokaisella objektilla on omat ominaisuutensa. Attribuutti __class__ on ainoa, joka voi palauttaa objektin luokkatyypin. Pythonin __class__-attribuuttia voidaan käyttää myös objektityypin tarkistamiseen sisäänrakennettujen funktioiden lisäksi.

Jokaisella Python-objektilla on attribuutti nimeltä __class__, joka sisältää objektin luokkatiedot. Esimerkiksi kokonaisluvun 5 luokka voidaan löytää käyttämällä alla olevaa koodia.

Python 3


kuinka monta kaupunkia Yhdysvalloissa on



x>=> 10> print>(x.__class__)> #> y>=> 'GeeksForGeeks'> print>(y.__class__)> #> z>=> 90.0> print>(z.__class__)> #>

>

>

Lähtö

>

Hae ja tulosta objektin tyyppi: '==' operaattori ja type()

Toinen tapa määrittää objektin tyyppi on käyttää type()-funktiota ja ==-operaattoria. Tätä voidaan käyttää vertaamaan objektin tyyppiä tiettyyn luokkaan. Esimerkiksi sen määrittämiseksi, onko kokonaisluku 5 tyyppiä int, voimme käyttää seuraavaa koodia:

Python




x>=> 5> print>(>type>(x)>=>=> int>)> # True> y>=> 5.0> print>(>type>(y)>=>=> float>)> # True> z>=> 'techcodeview.com'> print>(>type>(z)>=>=> int>)> # False>

>

>

Lähtö

True True False>

Muista, että Python on dynaamisesti kirjoitettu kieli, mikä tarkoittaa, että muuttujan tyyppi saattaa muuttua sen käytön aikana. Tämän seurauksena saattaa olla tarpeen tarkistaa kohteen tyyppi ennen tiettyjen tehtävien suorittamista. Esimerkiksi kahden luvun lisäämiseksi meidän on varmistettava, että ne ovat molemmat kokonaislukuja tai kelluvia.

Esimerkki

Edellinen koodi osoittaa, kuinka muuttujan objektityyppi voi muuttua suorituksen aikana.

Python




x>=> 10> print>(>type>(x))> x>=> 'GeeksForGeeks'> print>(>type>(x))>

>

>

Lähtö

>

Alkuperäinen print-käsky näytti tyypin 'int', koska 10 on kokonaisluku, mutta kun samalle muuttujalle oli määritetty merkkijono, sama print-käsky näytti tyypin 'str' ​​objektityypin dynaamisen muutoksen vuoksi.

Pythonin dynaamisesti kirjoitettu luonne edellyttää objektityyppien tarkistusprosessia. Jos esimerkiksi haluamme lisätä kaksi numeroa, meidän on varmistettava, että ne ovat molemmat kokonaislukuja tai kelluvia lukuja. Yhteensopimattomat luokkatyyppitoiminnot johtaisivat virheisiin, jotka voidaan korjata vain käyttämällä funktioita, kuten type() tai muuta tapaa päästä __class__-ominaisuuteen.

Yhteenvetona voidaan todeta, että objektityyppien tarkistuksen hallitseminen Pythonissa on erittäin tärkeää kaikkien tasojen kehittäjille, olitpa sitten aloittelija tai kokenut ohjelmoija. Ymmärtää tekniikat, kuten type(), isinstance() ja luokkaa , on välttämätöntä tehokkaan ja luotettavan koodin luomiseksi. Nämä menetelmät tarjoavat monipuolisen työkalupakin erilaisiin tyyppitarkistusskenaarioihin ja parantavat Python-kehityksen taitojasi.