Android

Kuinka muuntaa merkkijonot kokonaislukuiksi pythonissa

#Kakkosvitonen - Part.9 [ Alustasarjan Asennus Part.1 ]

#Kakkosvitonen - Part.9 [ Alustasarjan Asennus Part.1 ]

Sisällysluettelo:

Anonim

Kaikki Pythonin tietotyypit, mukaan lukien kokonaisluvut ja merkkijonot, ovat objekteja. Usein Python-koodia kirjoitettaessa sinun on muutettava yksi tietotyyppi toiseksi. Esimerkiksi matemaattisten toimintojen suorittamiseksi merkkijonona esitetylle numerolle se on muunnettava kokonaislukuksi.

Tässä opetusohjelmassa me osoitamme sinulle, kuinka voit muuttaa Python-merkkijonon kokonaislukuksi.

Python int() -toiminto

Sisäänrakennettu int() -toiminto palauttaa desimaalin kokonaisluvun objektin annetusta numerosta tai merkkijonosta. Se on seuraavassa muodossa:

int(x, base=10)

`-Funktio hyväksyy kaksi argumenttia:

  • x - merkkijono tai numero, joka muunnetaan kokonaislukuksi. base - Se edustaa ensimmäisen argumentin numerojärjestelmää. Sen arvo voi olla 0 ja 2–36. Jos perustaa ei anneta, oletusarvo on 10 (desimaalin kokonaisluku).

Yleensä kokonaislukuja ilmaistaan ​​heksadesimaalina (emäs 16), desimaalina (emäs 10), oktaalina (emäs 8) tai binaarina (emäs 2).

Jos annettua argumenttia ei voida esittää kokonaislukuna, funktio heittää ValueError poikkeuksen.

Python-merkkijonon muuttaminen kokonaislukuksi

Pythonissa 'merkkijono' on luettelo merkeistä, jotka ilmoitetaan käyttämällä yhden ( ' ), kaksinkertaisen ( " ) tai kolminkertaisia ​​lainausmerkkejä ( """ ).

Jos muuttuja, joka sisältää vain numeroita, ilmoitetaan lainausmerkeillä, sen tietotyypiksi on asetettu merkkijono. Mieti seuraavaa esimerkkiä:

days = "23" type(days)

type() -toiminto näyttää meille, että days ovat merkkijono.

Yritetään tehdä matemaattinen toimenpide muuttujalle:

print(days+5)

Python heittää TypeError poikkeusvirheen, koska emme voi suorittaa TypeError merkkijonolla ja kokonaisluvulla:

Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects

Jos haluat muuntaa desimaalilukun merkkijonon int , siirrä merkkijono int() -toimintoon, joka antaa desimaalilukun:

days = "23" days_int = int(days) type(days_int)

print(days_int+5)

28

Jos numero sisältää pilkut, merkitsevät tuhansia, miljoonia jne., Sinun on poistettava pilkut ennen numeron siirtämistä int() -toimintoon:

total = "1, 000, 000" int(total.replace(", ", ""))

1000000

Kun muunnat kokonaislukuja edustavia merkkijonoja eri numerojärjestelmissä, varmista, että käytät oikeaa kantaa.

Esimerkiksi heksadesimaalijärjestelmässä numero 54732 on esitetty muodossa D5CF . Jotta voit muuntaa sen desimaalilukuna, sinun on käytettävä kantaa 16:

int("D5CF", 16)

54735

Jos siirrät D5CF merkkijonon int() -toimintoon asettamatta perustaa, se heittää ValueError poikkeuksen:

int("D5CF")

Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'

johtopäätös

Python-sovelluksessa voit muuntaa merkkijonon kokonaisluvuksi int() -toiminnolla.

pytonkäärme