Conversione dei tipi e trasmissione dei tipi in Python spiegati con esempi
Pubblicato: 2020-02-19Python ha molti tipi di dati e, come programmatore, dovresti sapere come convertire un tipo di dati di Python in un altro. Python ha molte funzioni integrate per questa attività. E in questa semplice guida, li daremo un'occhiata per aiutarti a capire meglio le conversioni di tipo.
Dopo aver finito con questa guida, sapresti come convertire le stringhe in numeri interi e viceversa. Quindi, senza ulteriori indugi, iniziamo.
Sommario
Tipi di dati in Python
Prima di iniziare la nostra discussione sulla conversione dei tipi in Python, diamo una breve occhiata a tutti i tipi di dati presenti in questo linguaggio:
Interi
I valori interi possono essere lunghi quanto vuoi. Come in matematica, anche gli interi in Python sono cifre. Ma non puoi avere numeri interi indefinitamente lunghi a meno che tu non abbia un supercomputer. Python tratta qualsiasi numero senza un prefisso come un intero. Questi numeri includono anche cifre decimali.
Numeri in virgola mobile
I float in Python sono numeri scritti con un punto decimale per separare le cifre frazionarie e l'intero. Alcuni esempi di numeri in virgola mobile sono 4.3, 9.18, ecc. Puoi aggiungere 'e' anche per la notazione scientifica in Python.
Numeri complessi
I numeri complessi in Python seguono questo formato: (la parte reale + la parte immaginaria). Alcuni esempi di numeri complessi sono (3+2i), (8-2x), ecc.
stringhe
Le stringhe possono essere qualsiasi insieme particolare di caratteri in Python. Sono indicati come str. Puoi scriverli usando le virgolette. Puoi usare virgolette singole e virgolette doppie per scrivere stringhe in Python. Le stringhe possono essere qualsiasi carattere racchiuso tra virgolette come "91", "ciao", ecc.
Proprio come gli interi, non c'è limite alla lunghezza dei caratteri nelle stringhe. Le stringhe sono di vario tipo, come stringhe con virgolette triple, stringhe grezze e molte altre. Tuttavia, se iniziassimo a discutere delle stringhe e dei loro tipi, questo articolo andrebbe troppo a lungo.
Tipo di dati booleano
L'ultimo tipo di dati che ci resta da discutere è il tipo di dati booleano. I dati booleani possono avere uno di due valori, che sono true e false. I valori booleani sono piuttosto essenziali in Python per molte ragioni. È possibile utilizzare i valori booleani per determinare la veridicità di oggetti e valori.
Leggi: Stipendio per sviluppatori Python in India 2020
Man mano che imparerai di più sugli operatori logici in Python, dovrai occuparti di oggetti e valori booleani.
Quindi questi erano tutti tipi di dati presenti in Python. Ulteriori informazioni sui tipi di dati in Python. Oltre a questi tipi di dati, Python ha anche molte funzioni integrate, che lo aiutano nell'esecuzione di una varietà di attività. Avremo bisogno di utilizzare alcune funzioni integrate per implementare anche la conversione del tipo. Dai un'occhiata ai nostri programmi di scienza dei dati per conoscere i vari tipi di conversioni.
Ora che abbiamo discusso dei tipi di dati, possiamo passare alla conversione dei tipi.
Diversi tipi di conversioni di tipo in Python
Esistono due tipi di conversioni di tipo in Python. Sono i seguenti:
Implicito
In questo caso, Python converte automaticamente un tipo di dati in un altro tipo. Tu, l'utente, non devi essere coinvolto in questo processo. Ecco un esempio di conversione implicita di intero in float in Python:
num_int = 18
num_flo = 1.8
num_nuovo = num_int + num_flo
print("tipo di dati di num_int:",type(num_int))
print("tipo di dati di num_flo:",type(num_flo))
print(“Valore di num_nuovo:”,num_nuovo)
print(“tipo di dati di num_nuovo:”,tipo(num_nuovo))
L'output del codice precedente sarebbe il seguente:
tipo di dati di num_int: <classe 'int'>
tipo di dati di num_flo: <class 'float'>
Valore di num_new: 19,8
tipo di dati di num_new: <class 'float'>
Come puoi vedere, abbiamo dovuto solo aggiungere num_flo e num_int insieme a num_new per ottenere l'output desiderato. Abbiamo convertito l'intero 18 in un float 19.8 tramite alcune righe di codice. La cosa fondamentale da notare qui è che Python ha trasformato automaticamente il numero intero in float.
Esplicito
Nel caso della conversione esplicita del tipo, utilizziamo le funzioni per scopi di conversione. Ricordi le funzioni integrate che abbiamo menzionato prima? Ti torneranno utili in questa sezione. Un altro nome per le conversioni di tipo esplicito è typecasting. Ha questo nome perché tu, l'utente, esegui il cast del tipo di dati dell'oggetto in questione.

Ci sono alcune funzioni di conversione del tipo con cui dovresti avere familiarità per eseguire il typecasting in Python. Int(a,base) è una funzione popolare in quanto può convertire qualsiasi tipo di dati in un numero intero. float() può trasformare qualsiasi tipo di dati in un numero a virgola mobile. oct() converte i numeri interi in stringhe ottali e hex() converte i numeri interi in stringhe esadecimali.
Ecco un esempio di conversione del tipo usando oct():
c = ott(80)
print ("Output : ",end="")
stampa (c)
E l'output sarebbe:
Uscita: 0o120
Quando si lavora con queste funzioni, ricordare che la sintassi per tale conversione dovrebbe essere:
(tipo_dati_desiderato)(espressione)
Esistono molti tipi di conversioni di tipo che puoi eseguire in Python. Tuttavia, ce ne sono due tipi, che eseguirai di più. La conversione di stringhe in numeri interi e viceversa può essere un ottimo punto di partenza. Quindi discutiamo separatamente ciascuna di queste conversioni di tipo per una migliore comprensione di questo argomento:
Leggi: Idee e argomenti del progetto per sviluppatori Python
Conversione di String in int Python
Puoi convertire una stringa in int Python tramite la funzione int(). Ti dà un numero intero decimale con un semplice clic. Presuppone che l'espressione immessa sia un numero intero decimale, ma in caso contrario restituirà un ValueError. E non lo vogliamo. Puoi menzionare il sistema numerico richiesto dando al valore una base per evitare questo problema.
Quindi, se stai convertendo una stringa in int in Python puoi farlo:
int("5")
Oppure puoi aggiungere una base per diversi tipi di stringhe:
int(“5” , base=10)
Ora discutiamo il contrario di questa conversione, cioè quando è necessario convertire un intero in una stringa.
Conversione int in String Python
È possibile utilizzare la funzione str() per convertire numeri interi in stringhe. Basta seguire la sintassi che abbiamo menzionato prima:
str(5)
Le stringhe possono convertire numeri interi in espressioni decimali se usi un letterale binario. Tuttavia, proprio come con la funzione int, se necessario, puoi aggiungere più informazioni per diverse conversioni. Puoi ottenere risultati ottali, binari e persino esadecimali con questa funzione.
Dopo un po' di pratica, puoi anche eseguire attività più complesse con la conversione del tipo. Ecco un esempio di aggiunta di una stringa con un numero intero tramite il typecasting:
num_int = 256
num_str = “64”
print("Tipo di dati di num_int:",type(num_int))
print("Tipo di dati di num_str prima di Type Casting:",type(num_str))
num_str = int(num_str)
print("Tipo di dati di num_str dopo Type Casting:",type(num_str))
num_sum = num_int + num_str
print("Somma di num_int e num_str:",num_sum)
print(“Tipo di dati della somma:”,type(num_sum))
L'output del codice precedente sarebbe questo:
Tipo di dati di num_int: <class 'int'>
Tipo di dati di num_str prima di Type Casting: <class 'str'>
Tipo di dati di num_str dopo Type Casting: <class 'int'>
Somma di num_int e num_str: 320
Tipo di dati della somma: <class 'int'>
Come puoi vedere, è molto divertente. Sentiti libero di sperimentare le conversioni di tipo ed espandere la tua base di conoscenze.
Conclusione
Ci auguriamo che tu abbia imparato molto da questo articolo. L'esecuzione di conversioni di tipo è una delle tante cose che puoi fare con le funzioni di Python.
Se stai leggendo questo articolo, molto probabilmente hai l'ambizione di diventare uno sviluppatore Python. Se sei interessato a imparare Python e vuoi sporcarti le mani su vari strumenti e librerie, dai un'occhiata al Diploma PG in Data Science di IIIT-B.
Nella codifica, in che modo le conversioni esplicite sono diverse dalle conversioni implicite?
Una conversione di tipo implicita è una conversione di tipo definita dall'utente e obbliga un'espressione a essere di un determinato tipo. Quando più tipi di dati vengono combinati insieme in un'espressione, il compilatore esegue una conversione di tipo implicita. La conversione esplicita, nota anche come cast, è quando convertiamo esplicitamente da un tipo di dati a un altro eseguendo la funzione appropriata per il tipo di dati in cui desideriamo convertire. Senza l'assistenza del programmatore, viene eseguita una conversione di tipo implicita.
In che modo il casting del tipo è diverso dalla conversione del tipo?
Il tipo di dati di destinazione deve essere inferiore al tipo di dati di origine quando si esegue il cast di un tipo di dati in un altro. Tuttavia, i dati di origine devono essere più piccoli del tipo di dati di destinazione quando si converte un tipo di dati in un altro. Un programmatore deve digitare manualmente il cast di un tipo di dati in un altro tipo. La conversione di un tipo di dati in un altro non comporta alcun intervento da parte del programmatore poiché il compilatore lo compila automaticamente durante l'esecuzione del programma. È possibile che i dati o le informazioni vengano persi durante il casting del tipo. Quando si converte un tipo di dati di piccole dimensioni in un tipo di dati di grandi dimensioni, è improbabile che i dati vadano persi.
Qual è più efficiente nelle tuple o nelle liste Python?
Una tupla è una raccolta di oggetti Python separati da virgole e, a causa della sua natura statica, la tupla è più veloce dell'elenco. Le tuple sono anche più efficienti in termini di memoria rispetto alle liste. Quando si tratta di efficienza del tempo, le tuple hanno un vantaggio minore rispetto alle liste, in particolare quando si tratta di cercare un valore. Se hai dati che non dovrebbero essere modificati in primo luogo, un tipo di dati tupla dovrebbe essere preferito a un elenco. Possiamo fare un elenco di tuple, il che significa che i membri della tupla possono essere racchiusi in un elenco e quindi seguire le stesse caratteristiche di un elenco Python. Poiché le tuple Python occupano meno spazio, costruire un elenco di tuple è più pratico.