Kuinka muuntaa merkkijonoksi Pythonissa

Työskentely kotona.

Nuori mies kirjoittaa kannettavalla tietokoneella kotona

Kuvan luotto: g-stockstudio/iStock/Getty Images

Toisin kuin C++:ssa ja Javassa, Python-muuttujat eivät sisällä eksplisiittistä tyyppitietoa. Jos käytät funktiota, joka vaatii merkkijonon, voit välittää sille muuntyyppisiä muuttujia ilman heittää poikkeuksen, vaikka koodisi saattaa heittää poikkeuksen, kun se yrittää käsitellä muuttujaa. Ainoat tietotyypit, jotka sinun on ehkä muutettava merkkijonoiksi, ovat yhdistetyt tietorakenteet, kuten joukot ja luettelot. Python sisältää käteviä toimintoja ja operaattoreita tietorakenteen kohteiden iterointiin ja merkkien lisäämiseen merkkijonomuuttujaan.

Vahvat, dynaamisesti kirjoitetut kielet

C++ ja Java vaativat tyyppivarasanan ennen kaikkia muuttujien allokaatioita, koska kääntäjän tai ajonaikaisen ympäristön on osattava käsitellä tietoja. Nämä staattisesti kirjoitetut kielet käyttävät tyyppisuoraa muuntaessaan tyyppien välillä, jos mahdollista. Koska Python on dynaamisesti kirjoitettu kieli, tulkki päättelee tyypin ajon aikana, joten voit yksinkertaisesti määrittää muuttujille arvoja tarpeen mukaan. Voit määrittää minkä tahansa tietotyypin aiemmin toisena tyyppinä käytetylle muuttujalle, ja Python-roskankerääjä poistaa vanhan muuttujan muistista.

Päivän video

Tietorakenteiden muuntaminen merkkijonoiksi

Jos ohjelmasi kerää tekstitietoja yhdistelmärakenteeseen, kuten luetteloon, monikkoon tai joukkoon, voit silmukalla tietorakenteen yli liittääksesi elementtejä merkkijonomuuttujaan. Sinun ei tarvitse ilmoittaa merkkijonomuuttujaa ennen tietorakenteen iterointia, mutta se voi yksinkertaistaa koodia. Esimerkiksi seuraava koodi näyttää yksinkertaisimman menetelmän luettelon muuntamiseen merkkijonoksi:

ultimateQuestion = "" # julistaa tyhjän merkkijonon "ultimateQuestion"

tokens = ["Mikä on ", 6, " kertaa ", 9, "?"] # sekatyyppien luettelo välilyönnillä

t: lle tokeneissa: ultimateQuestion += str (t)

tulosta (ulimateQuestion)

For-silmukassa käytetty str-menetelmä heittää kokonaislukuja merkkijonoihin, eikä sillä ole vaikutusta olemassa oleviin merkkijonoihin. Jos suoritat tämän koodin Python-tulkin avulla, se tulostaa "Mikä on 6 kertaa 9?"

Sisäänrakennetut merkkijonomenetelmät

Kuten useimmat korkean tason kielet, Python sisältää monia menetelmiä, jotka kuuluvat sisäänrakennettuun merkkijonotyyppiin. Pythonissa voit kutsua näitä menetelmiä merkkijonoliteraalista, joten esimerkiksi luetteloelementtien ketjuttamiseksi voit välittää luettelomuuttujan merkkijonoliteraalin liitosmenetelmään seuraavan esimerkin mukaisesti:

tokens = ['Hei', 'Maailma'] #merkkijono tokenit ilman välilyöntejä

pyString = ' '.join (tokens)

tulosta (pyString)

Tämä skripti kutsuu join-merkkijonoa " " -merkkijonosta, joka on vain välilyönnin yhden merkin merkkijono. Se ketjuttaa "Hello" ja "World" "Hello World" -kohtaan lisäämällä kutsuvan objektin - välilyönnin - jokaisen luetteloelementin väliin.

Pythonin muuttujan laajuuden resoluutio

Kuten muissakin korkean tason kielissä, sinun on kiinnitettävä huomiota muuttujan laajuuteen, kun määrität ja määrität merkkijonomuuttujia. Jos määrität merkkijonomuuttujan funktion tai silmukan sisällä, et voi käyttää sitä missään muualla ohjelmassa. Esimerkiksi Python-tulkki tuhoaa muuttujan "verticalList" palattuaan silmukasta:

g: lle päivittäistavarakaupoissa: verticalList += g + '\n' # merkkijono ilmoitettu silmukan sisällä

tulosta (verticalList)

Tämä komentosarja tekee poikkeuksen, koska "verticalList" ei ole määritelty for-silmukan ulkopuolella.