Python String naar Int, Int naar String

In deze tutorial zullen we leren hoe je een python String naar een int en een int naar een String kunt converteren in python. In onze vorige tutorial hebben we geleerd over de Python List append functie.

Python String naar Int

Als je onze vorige tutorials hebt gelezen, zul je opgemerkt hebben dat we op een gegeven moment deze conversie hebben gebruikt. Eigenlijk is dit in veel gevallen noodzakelijk. Bijvoorbeeld, als je wat data uit een bestand leest, dan zal het in String-formaat zijn en zul je het moeten converteren naar een int. Nu zullen we rechtstreeks naar de code gaan. Als je een nummer dat als een string wordt weergegeven naar een int wilt converteren, moet je de int() functie gebruiken om dit te doen. Zie het volgende voorbeeld:

num = '123'  # string data

# print het type

print('Type of num is :', type(num))

# converteren met int()

num = int(num)

# print het type again

print('Now, type of num is :', type(num))

De output van de volgende code zal zijn

Type of num is : <class 'str'>
Now, type of num is : <class 'int'>
Python String To Int

String converteren naar int vanuit een ander basis

Als de te converteren tekenreeks naar een geheel getal behoort tot een andere numerieke basis dan tien, kunt u de basis specificeren voor conversie. Onthoud echter dat het uitvoergeheel getal altijd in basis tien is. Een andere belangrijke factor om te onthouden is dat de opgegeven basis tussen 2 en 36 moet liggen. Bekijk het volgende voorbeeld om de conversie van tekenreeks naar geheel getal met het basisargument te begrijpen.

num = '123'
# druk de oorspronkelijke tekenreeks af
print('The original string :', num)

# stel '123' voor als zijnde in basis 10, converteer het naar basis 10

print('Base 10 to base 10:', int(num))

# stel '123' voor als zijnde in basis 8, converteer het naar basis 10

print('Base 8 to base 10 :', int(num, base=8))

# stel '123' voor als zijnde in basis 6, converteer het naar basis 10

print('Base 6 to base 10 :', int(num, base=6))

De uitvoer van de volgende code zal zijn

Python Convert String To Int With Base

WaardeFout bij het converteren van String naar geheel getal

Terwijl je van string naar int converteert, kun je een ValueError exception krijgen. Deze uitzondering treedt op als de string die je wilt converteren geen getal vertegenwoordigt. Stel dat je een hexadecimaal getal naar een geheel getal wilt converteren. Maar je hebt het argument base=16 niet doorgegeven aan de functie int(). Dit zal een ValueError-uitzondering veroorzaken als er een cijfer is dat niet behoort tot het decimale stelsel. Het volgende voorbeeld zal deze uitzondering illustreren bij het converteren van een string naar een int.

"""
    Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12'  # this is a hexadecimal value

# de variabele wordt beschouwd als decimale waarde tijdens conversie
print('The value is :', int(num))

# de variabele wordt beschouwd als hexadecimale waarde tijdens conversie
print('Actual value is :', int(num, base=16))

"""
    Scenario 2: The interpreter will raise ValueError exception
"""

num = '1e'  # this is a hexadecimal value

# de variabele wordt beschouwd als hexadecimale waarde tijdens conversie
print('Actual value of \'1e\' is :', int(num, base=16))

# de variabele wordt beschouwd als decimale waarde tijdens conversie
print('The value is :', int(num))  # this will raise exception

De uitvoer van de bovenstaande code zal zijn:

The value is : 12
Actual value is : 18
Actual value of '1e' is : 30
Traceback (most recent call last):
  File "/home/imtiaz/Desktop/str2int_exception.py", line 22, in 
    print('The value is :', int(num))  # this will raise exception
ValueError: invalid literal for int() with base 10: '1e'
Python String To Int ValueError

Python int naar String

Het converteren van een int naar een string vereist geen moeite of controle. Je gebruikt eenvoudig de functie str() om de conversie uit te voeren. Zie het volgende voorbeeld.

hexadecimalValue = 0x1eff

print('Type of hexadecimalValue :', type(hexadecimalValue))

hexadecimalValue = str(hexadecimalValue)

print('Type of hexadecimalValue now :', type(hexadecimalValue))

De uitvoer van de volgende code zal zijn:

Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>
Python Int To String Conversion

Dat is alles over het omzetten van een string naar een int en van int naar een string. Referentie: Python Official Doc

Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string