Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Fondamenti della Conversione di Tipo | Interazioni tra Tipi Diversi
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Tipi di dati in Python

bookFondamenti 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) restituisce 2, 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

1234567
age_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
copy

Questi generano ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

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

1234
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
copy

Questi generano ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

Conversione a str

str(x) crea una rappresentazione in stringa leggibile dall'uomo. Preferire gli f-string quando si costruiscono messaggi.

123
print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
copy

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").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Errori da evitare

  • int("2.5") genera ValueError - eseguire prima il parsing con float(), poi troncare o arrotondare;
  • Abitudine locale: "2,5" non è valido - utilizzare "2.5";
  • Sorpresa sulla veridicità: bool("0") restituisce True - confrontare esplicitamente il contenuto della stringa se necessario, ad esempio s == "0".

1. Quale chiamata genera un ValueError?

2. Selezionare l'affermazione corretta.

question mark

Quale chiamata genera un ValueError?

Select the correct answer

question mark

Selezionare l'affermazione corretta.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

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?

bookFondamenti 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) restituisce 2, 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

1234567
age_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
copy

Questi generano ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

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

1234
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
copy

Questi generano ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

Conversione a str

str(x) crea una rappresentazione in stringa leggibile dall'uomo. Preferire gli f-string quando si costruiscono messaggi.

123
print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
copy

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").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Errori da evitare

  • int("2.5") genera ValueError - eseguire prima il parsing con float(), poi troncare o arrotondare;
  • Abitudine locale: "2,5" non è valido - utilizzare "2.5";
  • Sorpresa sulla veridicità: bool("0") restituisce True - confrontare esplicitamente il contenuto della stringa se necessario, ad esempio s == "0".

1. Quale chiamata genera un ValueError?

2. Selezionare l'affermazione corretta.

question mark

Quale chiamata genera un ValueError?

Select the correct answer

question mark

Selezionare l'affermazione corretta.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 1
some-alt