Home Programmazione Python, corso base Capitolo 8: Conversioni (casting) tra tipi di dati differenti.

Page Rank Check    





Ultimi articoli

Capitolo 8: Conversioni (casting) tra tipi di dati differenti.
Guide di programmazione - Python, corso base
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 17:41

Guida a Python - Corso base - Capitolo 8: conversioni (casting) tra tipi di dati differenti


Capitolo 8: Conversioni (casting) tra tipi di dati differenti.

Python permette grande flessibilità nell'utilizzo di vari tipi di dato, tuttavia non è possibile effettuare operazioni tra tipi diversi senza un casting (conversione forzata); ad esempio, scrivere:

>>> elemento1 = 'a'

>>> elemento2 = 4

>>> somma = elemento1 + elemento2

genererà un errore:

Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
somma = elemento1+elemento2
TypeError: cannot concatenate 'str' and 'int' objects

 

 

Il casting viene effettuato mediante funzioni specifiche; per i tipi primitivi, abbiamo ad esempio:

  • tuple(elemento);

conversione a tupla; funziona solo con elementi "iterabili", come lo stringhe o le liste:

>>> elementoStringa = 'stringa'
>>> convAtupla = tuple(elementoStringa)
>>> convAtupla
('s', 't', 'r', 'i', 'n', 'g', 'a')

mentre con altri, come gli interi, genera errore:

>>> intero1 = 5
>>> convAtupla = tuple(intero1)

Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
convAtupla = tuple(intero1)
TypeError: 'int' object is not iterable

 

  • list(elemento);

conversione a lista; funziona solo con elementi "iterabili", per cui, ad esempio, non è possibile effettuare una conversione passando, come parametro, un intero:

>>> elementoIntero = 10
>>> convAlista = list(elementoIntero)

Traceback (most recent call last):
File "<pyshell#28>", line 1, in <module>
convAlista = list(elementoIntero)
TypeError: 'int' object is not iterable

mentre è possibile convertire delle stringhe in elementi separati (caratteri) appartenenti ad una list:

>>> elementoStringa = 'stringa'
>>> convAlista = list(elementoStringa)
>>> convAlista
['s', 't', 'r', 'i', 'n', 'g', 'a']

 

  • int(elemento);

conversione a intero; funziona solo con numeri e stringhe, altrimenti genera errore:

Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
convAintero = int(convAlista)
TypeError: int() argument must be a string or a number, not 'list'

 

Per le varie funzioni di casting esistono anche molte altre forme, che consentono ad esempio conversioni tra numeri da intero ad esadecimale, ecc...

Per una trattazione completa, comunque, si rimanda alla documentazione ufficiale di Python.

Tags:     programmazione      guide      manuali      corso      python      capitolo 8      conversioni      casting      cast      tipi di dati differenti
Ultimo aggiornamento Domenica 22 Gennaio 2012 13:58
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials