English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Prima di studiare le conversioni di tipo in Python, dovresti sapere Tipi di dati Python.
Il processo di conversione del valore di un tipo di dati (intero, stringa, floating point, ecc.) in un altro tipo di dati si chiama conversione di tipo. Python ha due tipi di conversione di tipo.
Conversione implicita di tipo
Conversione di tipo esplicita
Nella conversione implicita di tipo, Python converte automaticamente un tipo di dati in un altro senza la partecipazione dell'utente.
Lasciate che vi mostriamo un esempio in cui Python favorisce la conversione da un tipo di dati più basso (intero) a un tipo di dati più alto (floating point) per evitare la perdita di dati.
num_int = 123 num_flo = 1.23 num_new = num_int + num_flo print("Il tipo di dati di num_int:", type(num_int)) print("Il tipo di dati di num_flo:", type(num_flo)) print("Il valore di num_new:", num_new) print("Il tipo di dati di num_new:", type(num_new))
Quando eseguiamo il programma sopra, l'output sarà:
Il tipo di dati di num_int: <class 'int'> Il tipo di dati di num_flo: <class 'float'> Il valore di num_new: 124.23 Il tipo di dati di num_new: <class 'float'>
Nel programma sopra
Stiamo sommando due variabilinum_intenum_flo sommaree abbiamo memorizzato il valore nella variabilein num_new.
abbiamo controllato i tipi di dati di tutti e tre gli oggetti.
Nell'output, possiamo vederenum_intil tipo di dati è integer,num_floil tipo di dati è un float.
Inoltre, possiamo vederenum_newcon tipo di dati float, perché Python converte sempre il tipo di dati più piccolo nel tipo di dati più grande per evitare la perdita di dati.
Ora, proviamo a sommare una stringa e un intero, e vediamo come gestisce Python.
num_int = 123 num_str = "456" print("Il tipo di dati di num_int:", type(num_int)) print("Il tipo di dati di num_str:", type(num_str)) print(num_int+num_str)
Quando eseguiamo il programma sopra, l'output sarà:
Il tipo di dati di num_int: <class 'int'> Il tipo di dati di num_str: <class 'str'> Traceback (chiamata più recente in basso): File "python", riga 7, in <module> TypeError: operandi di tipo non supportati per +: 'int' e 'str'
Nel programma sopra
abbiamo due variabilinum_int enum_strsomma.
Dalla visualizzazione dell'output, possiamo vedere che otteniamo un TypeError. In questo caso, Python non può utilizzare la conversione implicita.
Ma, Python fornisce una soluzione per questo tipo di situazione, chiamata "Conversione esplicita".
In "Conversione di tipo esplicitaIn "", l'utente converte il tipo di dati dell'oggetto nel tipo di dati richiesto. Utilizziamo conversioni di tipo esplicite come le funzioni predefinite int(), float(), str() e così via.
Questo tipo di conversione è anche noto come conversione di tipo, poiché l'utente forza la conversione (cambiamento) del tipo di dati dell'oggetto.
Sintassi :
<required_datatype>(expression)
La conversione di tipo può essere completata assegnando la funzione di tipo necessaria all'espressione.
num_int = 123 num_str = "456" print("Il tipo di dati di num_int:", type(num_int)) print("Il tipo di dati di num_str prima della conversione di tipo:", type(num_str)) num_str = int(num_str) print("Il tipo di dati di num_str dopo la conversione di tipo:", type(num_str)) num_sum = num_int + num_str print("La somma di num_int e num_str:", num_sum) print("Il tipo di dati di sum:", type(num_sum))
Quando eseguiamo il programma sopra, l'output sarà:
Il tipo di dati di num_int: <class 'int'> Il tipo di dati di num_str prima della conversione di tipo: <class 'str'> Il tipo di dati di num_str dopo la conversione di tipo: <class 'int'> La somma di num_int e num_str: 579 Il tipo di dati di sum: <class 'int'>
Nel programma sopra
Noinum_strenum_intvariabili sommare.
Usiamo la funzione int() pernum_strda stringa (alto) a intero (basso) per eseguire l'addizione.
Convertirenum_strDopo la conversione in intero, Python può sommare queste due variabili.
Infine, otteniamonum_sumValore e il tipo di dati del valore sono interi.
La conversione di tipo è la conversione di un oggetto da un tipo di dati a un altro tipo di dati.
La conversione implicita di tipo viene eseguita automaticamente dall'interprete Python.
Python evita la perdita di dati nella conversione implicita di tipo.
La conversione di tipo esplicita è anche chiamata conversione di tipo, in cui l'utente utilizza funzioni predefinite per convertire il tipo di dati dell'oggetto.
Durante la conversione di tipo, quando forziamo un oggetto a diventare un tipo di dati specifico, può verificarsi una perdita di dati.