Mitä merkitys on ' epäpuhtaalla tyypillä ' virhe Pythonissa?


Paras vastaus

Ymmärretään ensin, mikä on hajautettavaa ja poistettavaa. Yksinkertaisesti sanottuna nimitämme kohteet, joiden arvoja ei voida muuttaa, hashableiksi ja kohteet, joiden arvoja voidaan muuttaa, epämääräisiksi.

Esimerkiksi Pythonissa kaikki muuttumattomat objektit voidaan kutsua hashableiksi, kun taas muutettavissa oleviksi objekteiksi voidaan kutsua epämukavaksi. Otetaan esimerkki siitä, mistä voimme saada tällaisen virheen ja miksi saamme sen.

Esimerkiksi kun käytät luetteloa avaimena sanakirjassa. Sitä ei voi tehdä ja saamme virheen TypeError: unashable type.

Tämä johtuu siitä, että luetteloita ei voi hajauttaa ja yritämme käyttää luetteloa hash-argumenttina. Tämä tarkoittaa, että kun yrität hajauttaa ei-tavoittelematonta objektia, se johtaa tähän virheeseen. Tavallinen tapa ratkaista tämä ongelma on heittää luettelo dupleksiin.

Ja koska sarjat ovat muuttumattomia ja siten hajautettavissa, se voi toimia.

Vastaus

dict = {a: 1}

Se näyttää epäonnistumattoman tyyppivirheen ikkunan python cmd: ssä.

Hashable-merkitys pythonissa on se, mitä arvoa ei voi koskaan muuttaa. Ja unashashable on päinvastainen kuin Hashable. Sanakirjassa arvo voidaan päivittää milloin tahansa, mutta jos python-tulkki ymmärtää sen tietotyypin. Minun esimerkissäni = 1) a on merkkijonon tietotyyppi, mutta tässä ei noudateta kirjoitettua merkkijonon tietotyyppisääntöä e sulkemalla merkit lainausmerkkeihin. Joten tulkki sanoi, että tätä tietotyyppiarvoa ei voi muuttaa (muuttaa), mutta tietotyyppiä ymmärretään väärin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *