Python

Muuttuva vs. Muuttamattomat objektit Pythonissa

Muuttuva vs. Muuttamattomat objektit Pythonissa

Pythonin sanotaan olevan upein kieli, koska monet ihmiset valitsevat sen ensimmäiseksi kieleksi ohjelmoinnille sen tyylikkyyden ja yksinkertaisuuden vuoksi. Kiitollisuus laajalle yhteisölle, pakettien ylimäärälle ja johdonmukaiselle syntaksille kokeneet ammattilaiset käyttävät myös Pythonia. Vaikka on yksi asia, joka näyttää ärsyttävän sekä aloittelijoita että joitain ammattimaisia ​​kehittäjiä - Pythonin objekteja.

Muuttuva vs. Muuttumaton

Vaihteleva yksiköt voivat muuttaa heidän tila tai aine kuvaamaan eroja ja muuttumaton yhteisöt eivät voi muuttaa tilaa tai sisältöä. Joten kun esine luodaan, erityinen objektin tunnus on varattu. Suorituksen aikana objektin tyyppi määritetään, eikä sitä voida päivittää myöhemmin. Sisäänrakennetut muodot, kuten int, float, bool, str, tuple ja Unicode-muuttujat, ovat muuttumattomia. Objektit, kuten luettelo, joukko, tavutaulukot ja sisäänrakennettujen luokkien sanakirja, ovat muutettavissa.

Ymmärrä tunnus ja tyyppi -toiminto

Integroitu tunnus () method sisältää objektin id vain kokonaislukuna. Tämä kokonaisluku viittaa normaalisti objektin tallennusasemaan. ''On'operaattori yhdistää kahden objektin identiteetit toisiinsa. Integroitu toiminto, tyyppi(), palauttaa objektin tyypin. Vertaa kahta muuttujaa 'x'ja'y", jolla on sama arvo, käyttämällä tasa-arvooperaattoria"x == y', se tuottaa Totta. Käyttämällä id () -toiminto, olemme verranneet muistiosoitteet molemmista muuttujista, se tuottaa Väärä koska molemmat muuttujat ovat erilaisia ​​ja sijaitsevat eri muistipaikoissa, vaikka niiden sisältämät arvot ovat samat.

Tee toinen muuttuja 'z"joka viittaa samaan kokonaisuuteen, joka"x"ohjaa tehtävänoperaattoria käyttäen"='. Käyttämällä 'On'-operaattorin olemme havainneet, että molemmat osoittavat samaan kohteeseen ja niillä on samat muistiosoitteet.

Muuttamattomat muuttujatyypit

Katsotaanpa joitain muuttumattomia muuttujatyyppejä.

Kokonaisluku-tietotyyppi

Määritetään muuttuja 'x'jolla on arvo'10'. Sisäänrakennettu id () -menetelmä käytetään sijainnin selvittämiseenx"muistissa ja tyyppi() käytetään tyypin tunnistamiseen. Kun yritämme muuttaa arvonx', sen muuttaminen onnistui, vaikka muistiosoite palaa eri tavalla. Se johtuu siitä, että emme ole todella muuttaneet arvonx', mutta olemme luoneet toisen saman nimisen objektin'xja anna sille toinen arvo. Olemme sitoneet nimen 'x'uuteen arvoon. Nyt, kun soitat 'x'se antaa uuden arvon.

Merkkijonon tietotyyppi

Sama merkkijonon tietotyypille, emme voi muokata olemassa olevaa muuttuja mutta meidän on pakko luoda uusi, jolla on sama nimi. Tässä meillä on määritelty merkkijonomuuttuja 'x"ja haluat lisätä"w'sen nollaindekseihin. Se tuottaa Tyyppivirhe, osoittaa, että merkkijono-objekti ei tue päivitystä.

Tuple DataType

Vilkaise kaksinkertaista tyyppiä muuttuja, olemme määrittäneet a kaksinkertainen 4 arvolla. Olemme käyttäneet id () -toiminto antaa osoitteensa. Kun haluamme muuttaa sen arvoa 0 hakemistoa, se antaa Tyyppivirhe kyseinen tuple ei tue kohteen määritystä tai päivitystä.

Päinvastoin, voit päivittää koko tuplan määrittelemällä se naarmu. Aina kun tarkistat sen, löydät uuden arvon ja uuden osoitteen.

Kelluva tietotyyppi

Meillä on float-tyyppinen muuttuja 'x'. Käyttämällä id () -toiminto, meidän on selvitettävä sen osoite. Kun haluamme muuttaa sen arvoa hakemisto 1, se antaa Tyyppivirhe kyseinen kellu ei tue kohteen muokkaamista.

Päinvastoin olemme päivittäneet kellua määrittelemällä se uudelleen. Nyt kun kutsumme sitä, löydämme uuden arvon ja uuden osoitteen.

Vaihtuvat muuttujatyypit

Nyt tarkastelemme joitain muuttuvia muuttujatyyppejä.

Luettele DataType

Olemme määrittäneet a lista nimetty 'x'ja lisää siihen joitain arvoja. Sillä aikaa juosta, se näyttää luetteloarvot. Kun sinä päivittää luetteloon määrittämällä uudet arvot indeksi 0 ja 2, se tekee sen onnistuneesti.

Edellä kuvattu esimerkki on yksinkertainen ja yksinkertainen esimerkki modifikaatiosta. Tarkastellaksemme muuntuvuuden eri tasolle katsotaanpa samaa esimerkkiä pienillä muutoksilla. Olemme luoneet uuden nimen 'y'ja sitoi sen samaan luettelo-objektiin. Kun tarkasimme onkox'on sama kuin'y', se palauttaa True. Toisaalta molemmat 'x'ja'y'on sama muisti osoitteet.

Liitä nyt uusi arvo a: han luettelon nimi 'x' ja tarkista päivitetty tuotos.

Nyt kun haet luetteloa nimi 'y', se näyttää saman luettelon kuin x: lle. Tämä tarkoittaa, kun päivitämme saman objektiluettelon, jolla on kaksi eri nimeä 'x' ja 'y'. Molemmat ovat samat ja jakavat samat muistiosoitteet myös muokkauksen jälkeen.

Sanakirja DataType

Koska sanakirjat ovat yleisesti käytettyjä muuttujia Pythonissa, katsotaanpa sanakirjojen muutettavuutta. Olemme määrittäneet sanakirjan nimeltä 'sanella'kolmella näppäimellä ja niiden arvoilla. Kun tulostamme sen, se näyttää kaiken sisällön. Voit tulostaa jokaisen sanakirjan arvon erikseen sekä käyttää niiden sanoja näppäimiä hakemistojen sijaan.

Me haluamme muuttaa tietty arvo päivittämällä avain 'Nimi'. Se tuottaa päivitetyn sanakirjan. Sanakirja-avaimet ovat muuttumattomia.

Määritetään a lista ja kaksinkertainen erikseen. Varmista että kaksinkertainen täytyy olla luettelotyypin arvo siinä ja luettelossa on a tuple type -arvo siinä siis.

A kaksinkertainen on lista sen päällä 0 hakemistoa joten kun vaihdat 0 hakemistoa tuplasta, sinun on mainittava indeksi luettelosta, jota haluat muuttaa. Muutos tapahtuu, koska luettelo on muuttumaton.

Päinvastoin, luettelomuuttujaa ei voida päivittää, koska sillä on kaksinkertainen päällä 0-indeksi, mikä on muuttuva.

Johtopäätös

Olemme havainneet python-muunnelmia muuttuvien ja muuttumattomien välillä. Sinun on tehtävä mielesi selväksi, että kaikkeen Pythonissa viitataan esineenä. Ensisijaisesti ero kohteiden välillä, jotka ovat muuttuvia vs. muuttumaton.

Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...