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 (sono ammessi spazi e segno opzionali).
Python consente anche trattini bassi tra le cifre, come
"1_000"— ma solo se: - Il trattino basso è tra le cifre;
- Non si trova all'inizio o alla fine (
"_100","100_"); - Non è ripetuto o adiacente a un punto decimale (
"1__000","1_.5").
Conversioni valide
1234567age_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 print(int("1_00_0")) # 1000
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 (
"3.14","1e2","5E-3"); - Le virgole non sono punti decimali in Python (
"2,5","2.5"); - Python consente trattini bassi tra le cifre nelle stringhe numeriche, ma solo se:
- Il trattino basso è tra le cifre;
- Non si trova all'inizio o alla fine (
"_3.14","3.14_"); - Non è adiacente al punto decimale o ripetuto (
"3_.14","3.__14"); - Anche la notazione scientifica deve rispettare queste regole (
"1e_3").
Conversioni valide
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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"; - Sorpresa sulla veridicità:
bool("0")restituisceTrue- confrontare esplicitamente il contenuto della stringa se necessario, ad esempios == "0".
1. Quale chiamata genera un ValueError?
2. Selezionare 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 underscores work in numeric strings?
What happens if I try to convert a string with spaces or special characters to int or float?
Can you show examples of converting between these types in more complex scenarios?
Fantastico!
Completion tasso migliorato a 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 (sono ammessi spazi e segno opzionali).
Python consente anche trattini bassi tra le cifre, come
"1_000"— ma solo se: - Il trattino basso è tra le cifre;
- Non si trova all'inizio o alla fine (
"_100","100_"); - Non è ripetuto o adiacente a un punto decimale (
"1__000","1_.5").
Conversioni valide
1234567age_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 print(int("1_00_0")) # 1000
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 (
"3.14","1e2","5E-3"); - Le virgole non sono punti decimali in Python (
"2,5","2.5"); - Python consente trattini bassi tra le cifre nelle stringhe numeriche, ma solo se:
- Il trattino basso è tra le cifre;
- Non si trova all'inizio o alla fine (
"_3.14","3.14_"); - Non è adiacente al punto decimale o ripetuto (
"3_.14","3.__14"); - Anche la notazione scientifica deve rispettare queste regole (
"1e_3").
Conversioni valide
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
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"; - Sorpresa sulla veridicità:
bool("0")restituisceTrue- confrontare esplicitamente il contenuto della stringa se necessario, ad esempios == "0".
1. Quale chiamata genera un ValueError?
2. Selezionare l'affermazione corretta.
Grazie per i tuoi commenti!