Nel seguente tutorial, impareremo come convertire una stringa Python in un numero intero e un intero in una stringa in Python. Nel nostro tutorial precedente, abbiamo appreso la funzione Python List append.
Python String to Int
Se hai letto i nostri tutorial precedenti, potresti aver notato che a volte abbiamo utilizzato questa conversione. In realtà, ciò è necessario in molte situazioni. Ad esempio, se stai leggendo alcuni dati da un file, saranno in formato stringa e dovrai convertirli in un intero. Ora andremo direttamente al codice. Se desideri convertire un numero rappresentato come stringa in un intero, devi utilizzare la funzione int()
. Guarda l’esempio seguente:
num = '123' # string data
# stampa il tipo
print('Type of num is :', type(num))
# converti usando int()
num = int(num)
# stampa il tipo again
print('Now, type of num is :', type(num))
L’output del codice seguente sarà
Type of num is : <class 'str'>
Now, type of num is : <class 'int'>

Conversione di una stringa in un intero da una base diversa
Se la stringa che desideri convertire in int appartiene a una base diversa da quella base 10, puoi specificare la base per la conversione. Ma ricorda che l’intero di output è sempre in base 10. Un’altra cosa da ricordare è che la base fornita deve essere compresa tra 2 e 36. Guarda l’esempio seguente per comprendere la conversione di stringa in int con l’argomento della base.
num = '123'
# stampa la stringa originale
print('The original string :', num)
# considerando '123' essere in base 10, convertilo in base 10
print('Base 10 to base 10:', int(num))
# considerando '123' essere in base 8, convertilo in base 10
print('Base 8 to base 10 :', int(num, base=8))
# considerando '123' essere in base 6, convertilo in base 10
print('Base 6 to base 10 :', int(num, base=6))
Il risultato del codice seguente sarà

Errore di valore durante la conversione di String in int
Durante la conversione da stringa a intero potresti ottenere un ValueError
eccezione. Questa eccezione si verifica se la stringa che desideri convertire non rappresenta alcun numero. Supponi di voler convertire un numero esadecimale in un intero. Ma non hai passato l’argomento base=16 nella funzione int(). Solleverà un’eccezione ValueError
se c’è qualche cifra che non appartiene al sistema numerico decimale. L’esempio seguente illustrerà questa eccezione durante la conversione di una stringa in intero.
"""
Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12' # this is a hexadecimal value
# la variabile è considerata come valore decimale durante la conversione
print('The value is :', int(num))
# la variabile è considerata come valore esadecimale durante la conversione
print('Actual value is :', int(num, base=16))
"""
Scenario 2: The interpreter will raise ValueError exception
"""
num = '1e' # this is a hexadecimal value
# la variabile è considerata come valore esadecimale durante la conversione
print('Actual value of \'1e\' is :', int(num, base=16))
# la variabile è considerata come valore decimale durante la conversione
print('The value is :', int(num)) # this will raise exception
L’output del codice sopra sarà:
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 int to String
Convertire un int in stringa non richiede alcuno sforzo o controllo. Basta usare la funzione str()
per fare la conversione. Vedi il seguente esempio.
hexadecimalValue = 0x1eff
print('Type of hexadecimalValue :', type(hexadecimalValue))
hexadecimalValue = str(hexadecimalValue)
print('Type of hexadecimalValue now :', type(hexadecimalValue))
L’output del codice seguente sarà:
Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>

Ecco tutto sulla conversione di stringa Python in int e da int a stringa. Riferimento: Documentazione ufficiale di Python
Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string