Fondamenti della Conversione di Tipo
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) restituisce un numero in virgola mobile.
- Funziona con interi e stringhe in formato decimale o notazione 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 gli 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- eseguire prima il parsing confloat(), poi troncare o arrotondare;- Abitudine locale:
"2,5"non è valido - utilizzare"2.5"; - Underscore nelle stringhe di input:
"1_000"non è valido - rimuovere prima gli underscore:"1_000".replace("_", ""); - Sorpresa nella 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
Can you explain more about how type conversion works in Python?
What happens if I try to convert a string that isn't a valid number?
Can you show examples of converting between other types, like lists or dictionaries?
Awesome!
Completion rate improved to 3.45
Fondamenti della Conversione di Tipo
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) restituisce un numero in virgola mobile.
- Funziona con interi e stringhe in formato decimale o notazione 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 gli 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- eseguire prima il parsing confloat(), poi troncare o arrotondare;- Abitudine locale:
"2,5"non è valido - utilizzare"2.5"; - Underscore nelle stringhe di input:
"1_000"non è valido - rimuovere prima gli underscore:"1_000".replace("_", ""); - Sorpresa nella 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!