6 dicembre 2008

E Arrivato PYTHON 3.0 per gli Amici Py3K!

Dopo Python 2.6 il 3 Dicembre è arrivata a vedere la luce anche la tanto "chiacchierata" versione 3.0 di Python. Per chi mastica il linguaggio, sa che questa release porta con se importanti novità, e cambiamenti che per la prima volta rompe la compatibilita all'indietro ( backwards incompatible). Tra le novità più importanti ci sono, la nuova formattazione delle stringhe.

Print diventa una funzione invece di una istruzione, e di conseguenza implementa più funzionalità.



Old: print "The answer is", 2*2
New: print("The answer is", 2*2)

Old: print x, # Trailing comma suppresses newline
New: print(x, end=" ") # Appends a space instead of a newline

Old: print # Prints a newline
New: print() # You must call the function!

Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)

Old: print (x, y) # prints repr((x, y))
New: print((x, y)) # Not the same as print(x, y)!



adesso esiste un solo tipo intero vale a dire int.

Sparisce del tutto l'espressione <> (fino ad ora deprecato) si deve usare !=

la funzione precostruita raw_input(), diventa input()

as, with e nonlocal sono parole riservate.

Le funzioni apply() e reduce() non esistono più, la derivazione delle classi class func(object) non e più richiesta, cambia anche l'istruzione try except. Cambiano anche i metodi per i dizionari dict.keys(), dict.items() e dict.values() che adesso
restituiscono degli oggetti iterabili, per le liste adesso bisogna usare list().




Con Python 3.0 adesso ce un nuovo approccio allo standard Unicode, non si usa più u'....'
adesso tutto il testo è unicode, il "vecchio" metodo è utilizzabile solo per letterali binari b"....".

Cambiano anche le meta classi in questo modo:

vecchio stile

class C:
__metaclass__ = M

in nuovo stile

class C(metaclass = M):

sicuramente la nuova versione non sarà usata nell'immediato(soprattuto in produzione)da una larghissima base di sviluppatori(la 2.5 e la 2.6 hanno tanto da dire ancora)ma sicuramente sono state gettate le basi per rendere il linguaggio(già eccellente) sempre più dinamico e pulito da permettere di scrivere codice migliore e sempre più leggibile che in un linguaggio Open Source non guasta.

ora per non annoiarvi mi fermo qui,ma ce ancora tanta carne al fuoco. Quindi se la cosa vi ha
incuriositi un pochettino e volete approfondire l'argomento vi rimando al What's New e alla
nuova e corposa documentazione.

Happy Coding

Nessun commento: