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. Questo capitolo mostra come convertire in modo sicuro e dove i principianti spesso commettono errori.
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
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 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) produce una rappresentazione in stringa leggibile dall'uomo. Preferire gli f-string quando si costruiscono messaggi.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
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 nella veridicità:
bool("0")restituisceTrue- confrontare esplicitamente il contenuto della stringa se necessario, ad esempios == "0".
1. Cosa produce ciascuna riga?
2. Quale chiamata genera un ValueError?
3. 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 are some common errors beginners make with type conversion?
Can you show examples of converting between other types, like lists or dictionaries?
Awesome!
Completion rate improved to 5
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. Questo capitolo mostra come convertire in modo sicuro e dove i principianti spesso commettono errori.
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
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 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) produce una rappresentazione in stringa leggibile dall'uomo. Preferire gli f-string quando si costruiscono messaggi.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
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 nella veridicità:
bool("0")restituisceTrue- confrontare esplicitamente il contenuto della stringa se necessario, ad esempios == "0".
1. Cosa produce ciascuna riga?
2. Quale chiamata genera un ValueError?
3. Seleziona l'affermazione corretta.
Grazie per i tuoi commenti!