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
Quiz
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

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