Instagram ha recentemente celebrato il suo passaggio da Python 2 a Python 3. Eppure molte aziende famose stanno ancora usando Python 2.
Perché? Una parola: compatibilità.
Python 3 non è “retrocompatibile”, il che significa che se la vostra azienda sta usando varie librerie Python 2 potrebbero non funzionare più dopo l’aggiornamento.
Le aziende che eseguono codice su Python 2 devono fare una scelta difficile: o devono trovare una libreria sostitutiva che funzioni con Python 3, o sono bloccate con Python 2. Dropbox ha scritto un rapporto dettagliato del processo che ha richiesto TRE ANNI per aggiornare.
L’adozione di Python 3 è stata a lungo oggetto di dibattito nella comunità Python. Questo è ancora un po’ vero, anche se ora ha raggiunto un supporto diffuso, con alcuni progetti molto popolari come Django che abbandonano completamente il supporto di Python 2.
Avete letto bene, Dropbox ha impiegato tre anni per completare l’aggiornamento da Python 2 a Python 3 – e per gli dei, Guido Van Rossum (l’inventore di Python) lavora a Dropbox!
Python 3 ha più di 10 anni! Eppure, molte aziende stanno ancora usando Python 2. Quindi quale versione del linguaggio dovresti imparare? In questo post, ti spiegherò le differenze tra Python 2 e Python 3. Se non vuoi leggere il post il mio consiglio:
Perché Python è così popolare?
- Intuitività. La sintassi (o “grammatica” di Python, per così dire) è facile da capire.
- Maturità. Python è un linguaggio collaudato con potenti capacità che ti permettono di codificare praticamente qualsiasi cosa tu possa sognare.
- In-demand. Gli sviluppatori Python sono regolarmente assunti da una serie di aziende in tutto il mondo.
- Facile da usare in remoto. I ninja della codifica e gli studenti di codifica richiedono semplicemente una connessione internet per raggiungere i loro obiettivi.
- Python è il nuovo Excel. La ragione per cui Python viene insegnato nelle business school è perché Python è come Excel sotto steroidi. Con Python gli analisti finanziari, gli amministratori delegati e i marketer guidati dai dati possono sfruttare la potenza di Python per analizzare i grandi dati.
Perché ci sono due versioni di Python?
Il cambiamento è in atto da qualche tempo nella terra di Python, comunque. La Python Software Foundation, un’organizzazione indipendente senza scopo di lucro che detiene il copyright sul software, ha rilasciato la versione 2.7 nel 2010, mentre allo stesso tempo aggiornava il codice base a varie iterazioni della 3.x contemporaneamente. Nel corso degli anni, le aziende e i progetti hanno iniziato a migrare a Python 3 per i suoi vari benefici.
Perché scegliere Python 2?
Una delle più grandi ragioni per rimanere con Python 2 è se siete interessati a lavorare con una grande base di codice che è stata scritta in Python 2. Spostare una grande applicazione scritta in una vecchia versione di un linguaggio, o riscriverla completamente in un altro linguaggio, può essere un’impresa enorme.
Un’altra ragione per rimanere nella terra di Python 2 è se il vostro codice dipende da una specifica estensione originariamente scritta per Python 2 che non è stata aggiornata. La maggior parte di esse lo sono state, ma non tutte. Sta a voi decidere se vale la pena continuare a lavorare con le vecchie estensioni (chiamate anche “pacchetti”).
Perché scegliere Python 3?
Per dirla tutta, Python 2 è l’eredità, Python 3 è il futuro. Se stai iniziando ad imparare a scrivere codice – impara Python 3. Ecco alcune ragioni aggiuntive per cui dovresti imparare Python 3:
- Codice legacy. Dopo il 2020, Python 2 non sarà più mantenuto.
- Imparare le migliori pratiche. Python 3 include aggiornamenti non disponibili in Python 2.
- Scrivere codice più pulito. Python 3 ha elegantemente modificato la sua struttura in modo che ci vogliano meno righe di codice per eseguire un’azione.
- Evitare la confusione della sintassi. Esistono alcune piccole differenze grammaticali tra le due versioni, che possono frustrare i principianti.
Quali sono le differenze tra Python 2 e Python 3?
Una delle prime linee di codice Python che scriverai come principiante sarà quella di dire al computer di usare la funzione print per restituire la frase “Hello world!”
Python 2:
Print "Hello world!”
Python 3:
print("Hello world!”)
Risultato: Il computer restituisce la stessa cosa, ma potreste scoprire che il codice annidato tra parentesi è usato molto più spesso in Python 3. Ci sono anche ragioni programmatiche per questo: Python 3 è molto più facile da leggere.
Hello world!
Se questo vi sembra un sacco di parentesi da tenere sotto controllo, non temete! All’inizio del vostro processo di apprendimento installerete un editor di testo che è specificamente progettato per evidenziare le parentesi mancanti e altri errori di sintassi – e anche per riempire automaticamente molte cose comuni per voi.
Variabili Python
Un secondo esempio che coinvolge un uso più esteso delle parentesi è la sostituzione di una linea restituita di testo preparato con diverse variabili. Questo fa parte dell’operazione che avviene quando vi iscrivete ad una newsletter, e magicamente vi indirizzano con il vostro vero nome.
Python 2:
User20987 = "Chris Castiglione”print "Hi, %, hope you’re having a great day today!” % (User20987)
Python 3:
User20987 = "Chris Castiglione”print("Hi {0}, hope you’re having a great day today!”).format(User20987))
Funzioni Python
Un’altra importante differenza di sintassi è come è cambiata la funzione raw_input(). Questa è una funzione estremamente comune che prende informazioni da vari campi su un sito web (come quando vi registrate per un nuovo account e digitate il vostro indirizzo email).
Python 2:
Field_1 = raw_input("entered_value”)
Python 3:
Field_1 = input("entered_value”)
Questo conta più di quanto sembri, perché ha anche un effetto su come il computer interpreta il codice. Python 2 “valuta” automaticamente l’input, il che può avere conseguenze impreviste se l’utente non inserisce il tipo di dati che il programmatore si aspetta.
Immaginiamo che nell’esempio precedente, il programmatore Python 2 si aspettasse che l’utente inserisse un numero intero, ma invece l’utente ha fatto un errore di battitura e ha inserito l’operazione matematica “7-2”. Quella linea di codice restituirebbe il numero 5, che non sarebbe il risultato desiderato.
La versione di Python 3 non valuterà l’input per default. Invece di fare la matematica, restituirà una forma di dati chiamata “stringa”, che in questo caso sarebbe una copia di ciò che l’utente ha inserito: “7-2”. Questo approccio permette di definire più precisamente che tipo di dati si ricevono dall’utente.
Perché consiglio di imparare Python 3:
Le prestazioni di Python 2 vs 3 in termini di velocità di calcolo sono state drammaticamente migliorate, ma Python 3 migliora anche le già vaste capacità di Python 2.
Queste sono alcune nuove cose interessanti che imparerete all’inizio:
- Inserimento utente più facile. Una comune lezione iniziale è quella di prendere i dati digitati dall’utente (l’esempio di sintassi di input usato sopra, per esempio) e passarli ad un semplice script per creare una lista di informazioni. Python 3 migliora questo processo.
- Migliorata la gestione dei numeri. Python 3 include alcuni miglioramenti nel calcolo matematico che sono critici per molte applicazioni.
- Sono supportati gli add-on più popolari. Imparerete anche il concetto di estensioni chiamate “moduli” e “pacchetti” che non sono inclusi nell’installazione di default di Python 3. Man mano che crescerete, installare e usare questi diventerà parte del vostro repertorio quotidiano. Quasi tutti i pacchetti più popolari sono pronti per Python 3 da anni.
- Supporto Unicode. Sapevate che le emoji sono caratteri Unicode? Niente emoji in Python 2! 😉 😎 😃
- E c’è di più! Ecco sei cose da sapere prima di imparare Python.
Come faccio a mettere Python 3 sul mio computer?
Molti computer nuovi di zecca hanno ancora Python 2.7 preinstallato di default, ma vale la pena di imparare come installare e usare Python 3 sulla tua macchina personale.
Il corso Intro to Python di un mese ti guiderà attraverso l’installazione di Python 3 sulla tua macchina personale, dato che il processo per farlo varia a seconda del sistema operativo.