4.1 Funzione int()
In Python la conversione di tipi (chiamata anche casting) permette
di convertire valori da un tipo di dato a un altro. Abbiamo già visto brevemente
la conversione di una stringa in un numero durante l'input, ora ci concentreremo su questo argomento in dettaglio.
Consideriamo tre funzioni principali per la conversione di tipi:
int()
, str()
e float()
.
La funzione int()
viene utilizzata per convertire un valore in un
numero intero.
Conversione di una stringa in un numero intero:
num_str = "42"
num_int = int(num_str)
print(num_int) # Output: 42
Se nella stringa non c'è un numero, si verifica un errore:
num_str = "quarantadue"
num_int = int(num_str)
print(num_int) # ValueError: invalid literal for int() with base 10: 'quarantadue'
Conversione di un numero a virgola mobile in un numero intero:
num_float = 42.9
num_int = int(num_float)
print(num_int) # Output: 42
L'arrotondamento dei numeri decimali in tal caso sarà sempre verso il basso — si conserva solo la parte intera del numero. Il numero 1.9999 darà 1.
Conversione di un valore booleano in un numero intero:
Il valore vero (True) è spesso chiamato "unità logica", mentre quello falso (False) — "zero logico". Durante la conversione diventano rispettivamente un'unità normale e uno zero normale.
true_bool = True
false_bool = False
print(int(true_bool)) # Output: 1
print(int(false_bool)) # Output: 0
4.2 Funzione str()
La funzione str()
viene utilizzata per convertire un valore in una stringa. In una stringa si può convertire praticamente qualsiasi cosa.
Conversione di un numero intero in una stringa:
num_int = 42
num_str = str(num_int)
print(num_str) # Output: "42"
Conversione di un numero a virgola mobile in una stringa:
num_float = 42.9
num_str = str(num_float)
print(num_str) # Output: "42.9"
Conversione di un valore booleano in una stringa:
true_bool = True
false_bool = False
print(str(true_bool)) # Output: "True"
print(str(false_bool)) # Output: "False"
4.3 Funzione float()
La funzione float()
viene utilizzata per convertire un valore in
un numero a virgola mobile (numero reale).
Conversione di una stringa in un numero a virgola mobile:
num_str = "42.9"
num_float = float(num_str)
print(num_float) # Output: 42.9
Conversione di un numero intero in un numero a virgola mobile:
num_int = 42
num_float = float(num_int)
print(num_float) # Output: 42.0
Conversione di un valore booleano in un numero a virgola mobile:
true_bool = True
false_bool = False
print(float(true_bool)) # Output: 1.0
print(float(false_bool)) # Output: 0.0
GO TO FULL VERSION