Fondamenti della Conversione dei Tipi
La conversione di tipo consente di passare tra i tipi fondamentali di Python, così i valori possono essere confrontati, calcolati o visualizzati.
Conversione a int
int(x) crea un intero.
- Da un int: restituisce lo stesso numero;
- Da un float: tronca verso zero (ad esempio,
int(2.9)restituisce2,int(-2.9)restituisce-2); - Da una stringa: la stringa deve rappresentare un intero (spazi e segno opzionali sono accettati).
Conversioni valide
123456age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15
Questi generano ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Conversione a float
float(x) crea un numero a virgola mobile.
- Funziona con interi e stringhe in notazione decimale o scientifica;
- Le virgole non sono punti decimali in Python.
Conversioni valide
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Questi generano ValueError
1float("2,5") # ValueError - use a dot, not a comma
Conversione a str
str(x) crea una rappresentazione in stringa leggibile dall'uomo. Preferire le f-string quando si costruiscono messaggi.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Conversione a bool
bool(x) segue le regole di veridicità di Python.
- Numeri:
0èFalse, qualsiasi altro numero èTrue; - Stringhe:
""(vuota) èFalse, qualsiasi stringa non vuota èTrue(anche"0"e"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Errori da evitare
int("2.5")generaValueError- analizzare prima comefloat(), poi troncare o arrotondare;- Abitudine locale:
"2,5"non è valido - usare"2.5"; - Underscore nelle stringhe di input:
"1_000"non è valido - rimuovere prima gli underscore:"1_000".replace("_", ""); - Sorpresa sulla veridicità:
bool("0")restituisceTrue- confrontare esplicitamente il contenuto della stringa se necessario, ad esempios == "0".
1. Quale chiamata genera un ValueError?
2. Seleziona l'affermazione corretta.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 3.45
Fondamenti della Conversione dei Tipi
Scorri per mostrare il menu
La conversione di tipo consente di passare tra i tipi fondamentali di Python, così i valori possono essere confrontati, calcolati o visualizzati.
Conversione a int
int(x) crea un intero.
- Da un int: restituisce lo stesso numero;
- Da un float: tronca verso zero (ad esempio,
int(2.9)restituisce2,int(-2.9)restituisce-2); - Da una stringa: la stringa deve rappresentare un intero (spazi e segno opzionali sono accettati).
Conversioni valide
123456age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15
Questi generano ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Conversione a float
float(x) crea un numero a virgola mobile.
- Funziona con interi e stringhe in notazione decimale o scientifica;
- Le virgole non sono punti decimali in Python.
Conversioni valide
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Questi generano ValueError
1float("2,5") # ValueError - use a dot, not a comma
Conversione a str
str(x) crea una rappresentazione in stringa leggibile dall'uomo. Preferire le f-string quando si costruiscono messaggi.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Conversione a bool
bool(x) segue le regole di veridicità di Python.
- Numeri:
0èFalse, qualsiasi altro numero èTrue; - Stringhe:
""(vuota) èFalse, qualsiasi stringa non vuota èTrue(anche"0"e"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Errori da evitare
int("2.5")generaValueError- analizzare prima comefloat(), poi troncare o arrotondare;- Abitudine locale:
"2,5"non è valido - usare"2.5"; - Underscore nelle stringhe di input:
"1_000"non è valido - rimuovere prima gli underscore:"1_000".replace("_", ""); - Sorpresa sulla veridicità:
bool("0")restituisceTrue- confrontare esplicitamente il contenuto della stringa se necessario, ad esempios == "0".
1. Quale chiamata genera un ValueError?
2. Seleziona l'affermazione corretta.
Grazie per i tuoi commenti!