Il modo migliore per imparare Python

Python è più popolare che mai e viene utilizzato ovunque dai server Web di back-end, allo sviluppo di giochi front-end e tutto il resto. Python è un vero linguaggio generico e sta rapidamente diventando uno strumento indispensabile nell'arsenale di ogni programmatore che si rispetti.

Ma Python non è popolare solo perché è popolare. È facile da apprendere, legge come pseudo-codice ed è perfidamente agile. Tuttavia, l'apprendimento di qualsiasi nuova lingua può essere un compito scoraggiante, e trovare i posti giusti e le persone da cui imparare è metà della battaglia. Ecco dove questa guida può aiutare. Questo è il tuo progetto per rendere Python facile, divertente e gratificante da imparare.

Alla ricerca di una scorciatoia?

Questo articolo offre molte risorse, ma se preferisci qualcosa di più strutturato, il corso Introduzione a Python di Envato ti offre un set completo di lezioni video che ti porteranno rapidamente alla velocità con Python per soli $ 5.

Assegnazione 1: Inizia con le nozioni di base

Al momento in cui scrivo, ci sono due versioni principali di Python in circolazione: Python 2.7 e Python 3.2. Quale sceglierai di imparare davvero non importa troppo, poiché le differenze saranno minime, specialmente per un principiante. Ma dovresti sapere che, mentre Python 2 ha molto, molto più supporto di terze parti, Python 3 è l'obiettivo principale degli sviluppatori che progettano il linguaggio. La scelta è tua, ma se il tuo codice funziona in modo diverso rispetto a qualsiasi tutorial, assicurati di usare la stessa versione di Python usata nel tutorial.

Tutorial per non programmatori di Wikibook per Python

Wikibooks è sempre un'ottima fonte per imparare qualcosa di nuovo, e Python non fa eccezione. Qui troverai una solida serie di guide che ti insegneranno le basi di Python. Non diventa troppo tecnico e puoi passare alla codifica di qualcosa di utile e gratificante abbastanza rapidamente. Per questo motivo, consiglio questo sito come il miglior punto di partenza per il tuo viaggio su Python.

L'esercitazione Python ufficiale

Non troverai una fonte d'informazione migliore della documentazione ufficiale di python.org. Tuttavia, se vuoi entrare subito, come sono sicuro che molti di voi lo faranno, questo potrebbe non essere il miglior punto di partenza.

Il contenuto tende ad essere più tecnico dei wikibooks, che sarà utile in seguito mentre avanzi nella lingua. Ma, per un principiante, potrebbe semplicemente ostacolare quello che è davvero un linguaggio molto semplice e bello.

Per i principianti, la più grande differenza tra Python 2 e Python 3 sarà probabilmente quella che Python 2 può usare stampare senza parentesi. Python 3 richiede parentesi, ma questo è tutto.

Assegnazione 2: Esercitazioni e Screencast

Tutorial per la programmazione in Python di NewBoston

Le playlist di New York sono sempre fantastiche e puoi imparare un'intera serie di lingue. 'Bucky' è un grande istruttore perché ha un grande equilibrio tra l'essere divertente e anche l'essere facile da ascoltare. Consiglio vivamente qualsiasi delle sue playlist, in particolare la sua playlist Python. Assume una conoscenza a priori della programmazione e ti lascerà con una solida conoscenza della lingua.

Nettuts + 's Python di Scratch

Un po 'più vicino a casa è l'introduzione di Giles Lavelle a Python. Come la serie di TheNewBoston, Lavelle assume anche zero precedenti esperienze di programmazione.

Se vuoi vedere alcune applicazioni del mondo reale delle tue applicazioni, o vuoi puntare allo sviluppo web con Python, questa serie potrebbe essere quella giusta per te.

Lo screencast ti porta dal nulla alla costruzione di un sito web dinamico utilizzando un framework web Python chiamato Django.

Screencast di ShowMeDo in Python

StackOverflow non è solo pieno di errori e problemi "newbie".

ShowMeDo ha un enorme catalogo di video relativi a Python. Anche se potrebbe non essere l'esperienza più user friendly in giro, i video spaziano dal principiante assoluto alle più avanzate tecniche Python. Vale la pena dare un'occhiata.

Costruisci un bot Python in grado di riprodurre giochi Web

Questo tutorial è abbastanza specifico in termini di ciò che stai per imparare, e non lo consiglio per un principiante assoluto. Sento, tuttavia, che vale la pena menzionarlo. In questa guida, Chris Kiehl ti mostra come costruire un robot Python molto interessante che ti farà giocare un gioco semplice. Il tutorial serve davvero a mostrare la potenza di Python; può essere applicato per eseguire attività giornaliere ripetitive che potresti avere sul tuo computer.

Compito 3: e-book gratuiti!

È difficile battere un buon libro quando si cerca di imparare qualcosa di nuovo, e con la grande comunità che si è sviluppata attorno al linguaggio Python, c'è una miriade di e-book gratuiti di alta qualità tra cui scegliere. Di seguito è riportato un breve elenco di alcuni dei migliori. Puoi scaricare una versione gratuita di e-book per ognuno di essi oppure puoi scegliere di acquistare il libro fisico (o donare) se vuoi sostenere l'autore, che sono sicuro che apprezzerebbero molto.

Impara Python nel modo più duro

Nonostante il nome, Learn Python The Hard Way rende incredibilmente facile l'apprendimento di Python, come dovrebbe essere! In questo libro, Zed A. Shaw lavora da zero offrendoti una guida dettagliata e completa su Python senza intralciare la vera codifica. Shaw è informale ma approfondito, rendendo il libro una lettura facile ma gratificante.

Pensa a Python: come pensare come uno scienziato informatico

Non troverai una fonte d'informazione migliore della documentazione ufficiale di python.org.

Come suggerisce il sottotitolo, "Come pensare come uno scienziato informatico", Think Python rimane un po 'più verso il lato teorico delle cose. Questo potrebbe rivelarsi un po 'frustrante per un principiante assoluto, ma il libro merita la lettura in merito alla teoria dell'algoritmo e ai concetti di alto livello.

Inventa con Python

Se "imparare facendo" è la tua passione, allora costruire il tuo gioco si rivelerà un'esperienza gratificante! In questo libro, Al Sweigart non ha alcuna conoscenza preliminare di Python e ti porta fino alla costruzione del tuo gioco. Dato che il libro è orientato allo sviluppo del gioco, il libro potrebbe spostarsi un po 'più velocemente per un principiante totale. Più avanti in questo articolo, menziono un suo libro simile in cui si presuppone una conoscenza preliminare di Python. Se ritieni di avere una buona padronanza della lingua, allora il suo altro libro potrebbe essere una risorsa migliore per te.

Il libro di Django

Se vuoi imparare Python per lo sviluppo web, probabilmente stai usando il framework Django. Questo libro si basa su fluidità in Python, ma insegna Django come se fossi un principiante del framework. Il libro di Django è buono come vengono e sarà prezioso per qualsiasi sviluppatore web in erba.

Libri di Python

Se non hai ancora abbastanza da leggere, o vuoi un libro su un argomento specifico, dovresti seguire questo link. I ragazzi di python.org hanno compilato una lunga lista di libri, ordinati per difficoltà e argomento.

Assegnazione 4: acquisire familiarità con StackOverflow

Migliaia di sviluppatori hanno sperimentato ogni problema che si è tenuti ad affrontare. StackOverflow è una grande risorsa in cui gli sviluppatori trovano soluzioni ai loro problemi. Quando si verifica un errore che non si è sicuri di come risolvere, cercare StackOverflow. Sarà più che probabile trovare una soluzione e in che modo le altre persone hanno risolto il loro problema.

Ma StackOverflow non è solo pieno di errori e problemi "principianti"; ci sono alcune persone davvero intelligenti e disponibili che usano il sito - impara da loro!

Dai un'occhiata alle funzionalità nascoste del thread Python, per esempio.

Molti dei suggerimenti e dei trucchi che vedi qui potrebbero non essere trattati in molti tutorial formali, ma saranno estremamente utili per utenti di livello intermedio o avanzato di Python.

Compito 5: Project Euler

Project Euler (pronunciato "Oil-er", per risparmiarti qualche imbarazzo in seguito) è uno dei miei siti preferiti. Dopo aver creato un account, puoi lavorare attraverso i ~ 400 problemi sul sito web. Ogni problema riguarda circa il 50% di matematica e il 50% di programmazione e, a mio parere, il modo più gratificante per imparare di più su entrambi i temi.

I problemi iniziano facilmente per testare la tua conoscenza della lingua, ma crescono in difficoltà per mettere alla prova anche i programmatori più esperti. Alla fine, la difficoltà dei problemi ti costringerà a trovare l'algoritmo più efficiente, ovvero se non vuoi aspettare ore per calcolare la risposta.

Niente ti trasformerà in un mago di programmazione più rapidamente di te stesso per cercare le soluzioni più veloci ed efficienti per i problemi di Project Euler.

Quando crei un nuovo problema, ottieni accesso al thread del forum di quel problema in cui molte persone discutono tra loro delle loro soluzioni e idee. Molte delle soluzioni nelle pagine successive del thread saranno in Python. Questa è davvero la chiave per far crescere la tua abilità di programmazione. Se c'è qualcuno con una soluzione più veloce della tua, prenditi il ​​tempo per analizzarlo per vedere dove potresti migliorare la tua soluzione. Col tempo, raccoglierai tutti i trucchi del mestiere e aumenterai la tua conoscenza di Python in modo significativo e gratificante.

Inoltre, ci sono anche dei blog davvero fantastici che funzionano attraverso i problemi di Project Euler in Python. Se sei bloccato su un problema, non c'è da vergognarsi di avere un picco nel lavoro degli altri sviluppatori, a patto che tu abbia intenzione di imparare da esso. Ecco due dei miei preferiti:

  • Dreamshire
  • Mycila

Compito 6: Costruisci un gioco

Poche cose sono più soddisfacenti che costruire il tuo gioco.

Poche cose sono più soddisfacenti che costruire il tuo gioco. Può essere una curva di apprendimento ripida, ma ne vale la pena e molto gratificante. PyGame è la più famosa libreria di giochi per Python, e potrai trovare molti tutorial gratuiti su di esso. Ecco alcuni dei migliori tutorial di PyGame. 

Documentazione ufficiale di PyGame

Come nel caso delle esercitazioni originali di Python, anche gli sviluppatori di PyGame hanno la loro documentazione di introduzione. Ma questi possono essere eccessivamente tecnici se vuoi entrare subito e iniziare a costruire il tuo gioco. La documentazione per gli sviluppatori, tuttavia, sarà sempre la migliore fonte di informazioni; quindi, ti consiglio comunque di familiarizzare con il sito.

Inventa con Python (con PyGame)

Questo e-book gratuito di Al Sweigart attraversa la libreria PyGame, portandoti da zero conoscenze a costruire un paio di giochi per te. I giochi semplici ti forniranno una piattaforma perfetta per iniziare i tuoi progetti, se sei così propenso. Sweigart fornisce commenti esaurienti e dettagliati in tutto il suo codice per aiutarti a imparare mentre procedi.

Tutorial sullo sviluppo del gioco per computer di New York

Questa è un'altra playlist da The New York. Serve anche come introduzione a PyGame. Assume zero conoscenza e ti dà un buon feeling con la libreria PyGame, ma a differenza della guida di InventWithPython, è più importante e non ti porterà a creare il tuo gioco completo.

Compito 7: Conoscere alcune librerie e strumenti comuni

Python è un linguaggio generico che può fare quasi tutto; quindi, ovviamente, c'è una scorta apparentemente infinita di librerie e strumenti là fuori. Ecco alcuni dei più popolari.

PyPy

Se vuoi scrivere un codice HTML per alcune informazioni ... BeautifulSoup farà tutto questo per te e aggiungerà anni alla tua vita.

Se stai facendo un lavoro intensivo della CPU e scopri che Python si sta dimostrando un collo di bottiglia, allora forse hai bisogno di PyPy. PyPy è un compilatore alternativo per Python che può davvero accelerare l'elaborazione.

NumPy + SciPy

Questi due di solito vanno di pari passo (SciPy dipende da NumPy). Se stai facendo un numero serio di scricchiolii per ricerche matematiche o scientifiche, allora queste due biblioteche saranno i tuoi migliori amici. NumPy e SciPy estendono le funzioni matematiche e le funzionalità di Python e possono velocizzare notevolmente alcune delle tue attività.

BeautifulSoup

BeautifulSoup è davvero bello. Se hai bisogno di raschiare una pagina HTML per alcune informazioni, saprai fin troppo bene la frustrazione e la perdita di capelli che può portare. BeautifulSoup farà tutto questo per te e aggiungerà anni alla tua vita. Altamente raccomandato e divertente da giocare.

Libreria di immagini Python

La libreria di immagini Python (PIL) è una libreria estesa che è grande per qualsiasi cosa abbia a che fare con le immagini. Se hai bisogno di manipolare un'immagine, è probabile che PIL possa farlo per te.

Django

Come accennato in precedenza nell'articolo, il framework Django è quello che probabilmente userete se il vostro obiettivo è lo sviluppo web. È il framework web più comune per Python e ha anche la maggior parte delle risorse di apprendimento disponibili.

Compito 8: Partecipa a progetti open source

Dopo aver acquisito una conoscenza decente della lingua, essere in grado di leggere e capire il codice di altre persone è sempre un'abilità importante da avere - senza contare che è un ottimo modo per imparare anche tu.

Per questo motivo, i progetti open source sono grandiosi. Github o Bitbucket sono i luoghi da visitare per questo. Non preoccuparti per le persone che giudicano il tuo codice, non devi contribuire subito. Sei sempre libero di sborsare un progetto, armeggiare con te stesso e vedere come funzionano le cose. Se ti capita di vedere qualcosa che pensi possa essere migliorato, bene! Vai per questo e invia il tuo miglioramento. Questo è l'open source.

  • BitBucket
  • Github
  • Git Essentials (Screencast Course)

Conclusione

Spero di essere stato in grado di fornire una solida base di conoscenza Python per te. Se ci sono altri luoghi di interesse che pensi dovrebbero essere inclusi in questo programma, fammi sapere nei commenti qui sotto per aiutare gli altri!