I libri su Python

Libri Online

Pensare in Python: come pensare da informatico

Autore: Allen B. Downey.

Sinossi: È in assoluto il migliore libro scritto per principianti, libero, disponibile in tutti i formati. Si concentra sul linguaggio di programmazione Python ed affronta praticamente tutti gli aspetti della programmazione, è usato in alcuni istituti scolastici superiori americani. Imperdibile per coloro che si avvicinano adesso a questa disciplina.

Lingua: Italiano ed inglese.

Anno pubblicazione: 2015.

Consigliato a: Tutti, specialmente ai principianti.

Note: Per la versione in italiano la traduzione è a cura di Andrea Zanella.

Link:

  • Repository [versione italiana]
  • PDF [versione italiana]
  • Sito [versione inglese]
  • PDF [versione inglese]

Learning Python

Autore: Fabrizio Romano.

Sinossi: Libro che fornisce in modo semplice e chiaro le basi del linguaggio, cercando di rendervi autonomi nella programmazione nel più breve tempo possibile. Sono molti gli esempi forniti, per indirizzare gli utenti verso la comprensione di concetti non sempre banali. Ci sono ampi riferimenti, ovviamente, alle strutture basi del linguaggio, ma si toccano anche argomenti come le GUI e le applicazioni web.

Lingua: Inglese.

Anno pubblicazione: 2017.

Consigliato a: Principianti in particolar modo, ma anche chi conosce Python troverà il libro piacevole da leggere.

Note: Free PDF scaricabile da Packtpub, ma è richiesta la registrazione.

Link:

What You Need to Know about Python

Autore: Pirluigi Riti.

Sinossi: Con l'aiuto di questo libro i principianti potranno apprendere le basi del linguaggio e conoscere lo stato dell'arte del nostro linguaggio nel 2017. Sono presenti anche riferimenti piuttosto estesi a Django ed un'introduzione al mondo DevOps.

Lingua: Inglese.

Anno pubblicazione: 2017.

Consigliato a: Principianti.

Note: Free PDF scaricabile da Packtpub, ma è richiesta la registrazione.

Link:

Immersione in Python 3

Autore: Mark Pilgrim.

Sinossi: Immersione in Python 3 è la traduzione italiana di Dive Into Python 3, un libro scritto da Mark Pilgrim e pubblicato da Apress nel 2009 che parla di Python 3 e delle sue differenze rispetto a Python 2. Paragonato a Immersione in Python, questo libro contiene circa un 20% di materiale revisionato e un 80% di materiale nuovo.

Lingua: Italiano.

Anno pubblicazione: 2010.

Consigliato a: Principianti.

Note: Traduzione a cura di Giulio Piancastelli.

Link:

Libri veri, di carta

Programmare con Python - Guida completa

Autore: Marco Buttu.

Sinossi: L'obiettivo di questo libro è insegnare a programmare con Python, nel modo giusto (The Pythonic Way).

Il tema centrale è, quindi, il linguaggio, in tutti i suoi aspetti, che viene affrontato in modo dettagliato sia dal punto di vista teorico sia da quello pratico. Il libro è su Python 3 ed e' aggiornato alla versione 3.4, rilasciata nel 2014.

Si rivolge sia a chi intende imparare a programmare con Python, sia a chi già conosce il linguaggio ma vuole approfondire gli argomenti più avanzati, come, ad esempio, i decoratori, le metaclassi e i descriptor.

La lettura sarà probabilmente più agevole per chi ha precedenti esperienze di programmazione, ma il libro è alla portata di tutti, perché nulla è dato per scontato.

Si parte, infatti, dallo studio delle basi del linguaggio e si arriva, seguendo un percorso graduale costruito attorno a una ricca serie di esempi ed esercizi, agli argomenti più avanzati.

Il libro è suddiviso in sei capitoli, molto corposi. Al termine di ciascuno è presente un esercizio conclusivo, che ha lo scopo non solo di analizzare dei programmi completi, ma soprattutto di affrontare altre importanti tematiche e di esplorare la libreria standard.

Un breve elenco degli argomenti trattati nelle 672 pagine che compongono il libro alla sua prima edizione (pubblicato il 26 febbraio 2014):

  • introduzione al linguaggio e alla libreria standard
  • il core data type, con un occhio di riguardo allo standard Unicode e alla codifica delle stringhe
  • funzioni, generatori, coroutine, file, wildcard ed espressioni regolari
  • moduli e package, scope e namespace, ambienti virtuali, installazione e distribuzione delle applicazioni, docstring validation testing
  • classi, ereditarietà, gestione delle eccezioni, property e decoratori
  • modello ad oggetti, attributi magici, descriptor, metaclassi e test driven development

Lingua: Italiano.

Anno pubblicazione: 2014.

Consigliato a: Ottima lettura, ma per chi conosce almeno un po' Python.

Note: -

Imparare Python

Autore: Mark Lutz.

Sinossi: Il libro, giunto alla quarta edizione, edito da Hoops-Tecniche nuove è sicuramente un ottimo punto di partenza per entrare nel mondo del linguaggio creato da Guido Van Rossum. Molto esaustivo (pure troppo dicono i maligni), accompagnerà il lettore nella conoscenza del linguaggio non solo attraverso le "doverose" parti teoriche, ma anche con molti esempi di codice facilmente interpretabili. Qualche errore nella traduzione in italiano, certo non infastidiscono più di tanto e la lettura in linea di massima risulta sempre scorrevole.

Nelle 1055 pagine la versione del linguaggio di riferimento è stata ampliata ed oltre alla classica 2.x (2.6 in questo caso) è stata posta molta enfasi sulla versione 3.0.

Come suggerisce l'autore, nessuna conoscenza specifica precedente è necessaria, il libro, un computer con Python installato uniti alla voglia di apprendimento, sono gli unici requisiti.

Dallo stesso libro cito parte dell'intro: Questo manuale è una introduzione a Python, un linguaggio open source molto diffuso utilizzato per sviluppare, in contesti applicativi diversi, sia programmi autonomi che applicazioni di scripting.[...] L'obiettivo di questo manuale è quello di fornirvi rapidamente tutte le informazioni di basi sul linguaggio, che siate uno sviluppatore professionista o alle prime armi.

Lingua: Italiano.

Anno pubblicazione: 2011.

Consigliato a: Davvero tutti, raccomandato per i principianti.

Note: Traduzione a cura di G. Bonelli. Titolo originale Learning Python giunto alla quinta versione nel 2013.

Python Pocket (Nuova edizione)

Autore: Marco Beri.

Sinossi: In questa nuova versione del libro scritto dal "nostro" Marco Beri, viene trattato il linguaggio a partire dalla sua versione 3.1.

Semplice, pratico e scorrevolissimo nella sua lettura anche grazie al tono amichevole e spiritoso dell'autore, questo manualetto dovrebbe trovarsi sulle scrivanie di ogni programmatore Python. Anche se non esaustivo, come mai potrebbe esserlo visto che è una versione da tasca, fornisce comunque spunti di riflessione e nozioni di base importanti per sapersi muovere con agilità tra le spire del serpente.

Lingua: Italiano.

Anno pubblicazione: 2010.

Consigliato a: Davvero tutti.

Note: Formato Pocket.

Appunti di programmazione (scientifica) in Python

Autore: Fabio Aiolli.

Sinossi: Questo libro propone una guida completa alla programmazione, fornendo i principi fondamentali utili ad esprimere con un algoritmo la soluzione ad un problema specifico.

Nel libro sono schematizzate le problematiche ricorrenti della programmazione e per queste vengono presentati esempi e soluzioni corrette, efficienti ed eleganti.

Il volume approfondisce i fondamentali della programmazione: la selezione e la iterazione, la ricorsione, le strutture dati complesse quali liste concatenate ed alberi e gli algoritmi di ricerca, ordinamento e il backtracking.

I concetti teorici presentati vengono poi ampiamente applicati a problemi scientifici e ai giochi.

Lingua: Italiano.

Consigliato a: Consigliato a chi vuole apprendere le basi della programmazione con Python.

Note: -

Programmazione in Python

Autore: Kenneth A. Lambert.

Sinossi: Edito da Apogeo come traduzione del Fundamentals of Python: First Programs non ha incontrato sempre i favori dei lettori. Il libro svolge il suo lavoro di introduzione alla programmazione con Python, senza entrare troppo nello specifico.

Lo scopo del manuale è quello di fornire un'infarinatura sullo stile universitario, come dice lo stesso autore nella prefazione: Questo testo è ideato per un corso di programmazione e risoluzione di problemi. Tratta argomenti che si insegnano in un tipico corso di Informatica I a livello universitario..

Lodevole anche l'intento di voler affrontare argomenti non del tutto basici, come ad esempio il Multithreading, ed anche per questo può essere una lettura da consigliare a chiunque si avvicini al linguaggio di Programmazione. Nelle 383 pagine troverete degli errori di traduzione, ma non impediranno di capire i concetti espressi, se masticate l'inglese forse la versione originale è da preferirsi.

Lingua: Italiano.

Anno pubblicazione: 2012.

Consigliato a: Non tutti, insomma non un libro da avere a tutti i costi, ma pur sempre una piacevole lettura.

Note: Traduzione a cura di Carmelo Giarratana.

Python alla massima potenza

Autori: Gorelick Micha e Ozsvald Ian.

Sinossi: Il vostro codice Python può anche funzionare correttamente, ma potreste aver bisogno di renderlo più veloce. Esplorando le teorie che stanno alla base delle scelte progettuali, questa guida pratica vi aiuterà a comprendere più profondamente l'implementazione di Python. Imparerete a individuare i colli di bottiglia e ad accelerare l'esecuzione del codice, soprattutto nei programmi che operano su grossi volumi di dati. Come sfruttare al meglio le architetture multi-core o a cluster? Come costruire un sistema scalabile in ampiezza senza pregiudicarne l'affidabilità? Due esperti programmatori vi offrono soluzioni concrete a questi e ad altri problemi, presentando anche racconti di esperienze pratiche di utilizzo di Python per l'analisi dei social media, per l'apprendimento automatico e tante altre situazioni.

Lingua: Italiano.

Anno pubblicazione: 2015.

Consigliato a: Per chi ha bisogno di rendere il proprio codice più performante possibile.

Note: Traduzione a cura di P.Poli.

Python Cookbook

Autori: David Beazley e Brian K. Jones.

Sinossi: Il testo è una una raccolta di esempi chiavi in mano sull'utilizzo di Python. Questi esempi mirano a risolvere centinaia di diversi problemi, in un'opera di raccolta davvero encomiabile ad opera degli autori. Ogni singolo problema relativo ad una data categoria di argomenti (struttura dei dati, stringhe e testo, numeri data e tempo, generatori, file, funzioni, classi ed oggetti, e molti altri) è preceduto da un'introduzione che descrive il problema, seguito da una o più risoluzioni, di solito una più canonica ed una più "fantasiosa".

Lingua: Inglese.

Anno pubblicazione: 2013.

Consigliato a: Sicuramente non a tutti e non per i principianti.

Note: Nonostante sia un buon testo, la versione 2 resta superiore e leggendaria.

Automatizzare le cose noiose con Python

Autore: Al Sweigart.

Sinossi: Se vi è mai capitato di passare ore a cambiare nomi di file o ad aggiornare centinaia di celle in un foglio di calcolo, sapete perfettamente quanto noiose possano essere queste incombenze. E se il vostro computer potesse svolgerle al posto vostro? In Automatizzare le cose noiose con Python imparerete a usare Python per scrivere programmi che facciano in pochi minuti quello che a mano vi costerebbe ore - e non è necessario che abbiate già esperienza di programmazione. Una volta acquisite le basi, potrete creare programmi Python che svolgano senza fatica e in modo splendido compiti utili di automazione per: cercare un testo in uno o più file; creare, aggiornare, spostare e rinominare file e cartelle; effettuare ricerche nel Web e scaricare contenuti online; aggiornare e formattare dati in fogli di calcolo Excel di qualsiasi dimensione; suddividere o unire PDF, dotarli di watermark e cifrarli; inviare email di sollecito e notifiche testuali; compilare moduli online. Istruzioni passo passo analizzeranno in dettaglio ciascun programma, e progetti pratici alla fine di ciascun capitolo vi sfideranno a migliorare quei programmi e a usare le competenze appena acquisite per automatizzare compiti simili. Non passate il vostro tempo a fare quel che potrebbe fare una scimmia addestrata. Anche se non avete mai scritto una riga di codice, potete fare in modo che sia il vostro computer a gestire la parte noiosa. Imparate ad Automatizzare le cose noiose con Python!

Lingua: Italiano.

Anno pubblicazione: 2016.

Consigliato a: Particolarmente indicato ai principianti assoluti.

Note: In realtà è la traduzione di Automate the Boring Stuff with Python del 2015, disponibile gratuitamente in lingua inglese.

Python - Programmazione avanzata

Autore: Mark Summerfield.

Sinossi: Questo testo si rivolge ai programmatori in Python che desiderano ampliare e approfondire la conoscenza del linguaggio in modo da migliorare la qualità, l’affidabilità e la facilità di manutenzione dei loro programmi. L'autore presenta numerosi esempi e idee per potenziare la programmazione in Python focalizzandosi su quattro temi chiave: i design pattern per scrivere codice in modo elegante ed efficace, la concorrenza e Cython (Python compilato) per aumentare la velocità di esecuzione, l’elaborazione di rete ad alto livello e lo sviluppo di interfacce e di grafica 3D. Vengono analizzati nel dettaglio design pattern particolarmente utili ed evidenziato perché alcuni approcci object-oriented diffusi in altri linguaggi in Python non siano significativi. Inoltre vengono sfatati alcuni miti mostrando, per esempio, come Python possa trarre vantaggio dall’hardware multicore. Tutti gli esempi sono stati testati con Python 3.3 (in alcuni casi anche 3.2 e 3.1) e implementati per garantire la migliore compatibilità con le future versioni di Python 3.x.

Lingua: Italiano.

Anno pubblicazione: 2014.

Consigliato a: Chi conosce già il linguaggio e vuole espandere le sue conoscenze.

Note: Traduzione a cura di G.Panico e G.Taiana.

Python 3 Object-Oriented Programming - Second Edition

Autore: Dusty Phillips.

Sinossi: Libro dedicato al perfezionamento della programmazione ad oggetti. Molta importanza viene data allo studio dell'architettura dei programmi, invitando i lettori a cambiare il proprio approccio alla programmazione. Sicuramente un testo non per tutti, almeno non per i novizi.

Lingua: Inglese.

Anno pubblicazione: 2015.

Consigliato a: Chi vuole approfondire e migliorare la sua programmazione ad oggetti.

Note: -

Python per hacker. Tecniche offensive black hat

Autore: Justin Seitz.

Sinossi: Quando bisogna creare strumenti di hacking potenti ed efficaci, Python è il linguaggio di prima scelta per la maggior parte degli analisti di sicurezza. Python per hacker, l'ultima opera di Justin Seitz guida il lettore a esplorare il lato oscuro delle capacità di Python: scrivere sniffer di rete, manipolare pacchetti, infettare macchine virtuali, creare trojan invisibili e molto altro ancora. In particolare, il libro mostra come: creare un trojan command-and-control utilizzando GitHub; individuare il sandboxing e automatizzare le attività malware comuni, come il keylogging e lo screenshotting; scalare i privilegi di Windows con un processo di controllo creativo; usare trucchi offensivi di tecnica forense per recuperare gli hash delle password e iniettare codice di shell in una macchina virtuale; estendere il popolare strumento di web-hacking Burp; abusare dell'automazione Windows COM per fare attacchi man-in-the-browser; estrarre dati da una rete in modo invisibile.

Lingua: Italiano.

Anno pubblicazione: 2015.

Consigliato a: Chi vuole conoscere alcune tecniche "oscure" legate all'hacking.

Note: Traduzione a cura di M. Buttu.

Machine learning con Python

Autore: Sebastian Raschka.

Sinossi: Elaborare il magma di dati oggi disponibile è una sfida affascinante e imprescindibile per il mondo contemporaneo dove la conoscenza e l'informazione sono il primo valore. Il machine learning è la risposta: grazie ai suoi algoritmi è possibile creare macchine in grado apprendere in maniera automatica e rispondere alle domande chiave per il successo. Questo libro accompagna nel mondo del machine learning e mostra come Python sia il linguaggio di programmazione ideale per costruire algoritmi sofisticati in grado di interrogare i dati nel modo migliore e recuperare preziosi insight. Viene spiegato l'utilizzo di librerie Python dedicate - tra cui scikit-learn, Theano e Keras - applicate in ambiti come la selezione e la compressione dei dati, l'analisi del linguaggio naturale, l'elaborazione di previsioni, il riconoscimento delle immagini. L'approccio didattico è pragmatico: tutti i concetti sono accompagnati da esempi pratici di codice. La lettura è consigliata a chi ha già alle spalle qualche studio teorico nel campo del machine learning oltre a una buona conoscenza di programmazione in Python. Argomenti trattati: Addestrare gli algoritmi a compiti di classificazione; Utilizzare i classificatori della libreria scikit-learn; Selezionare i dati con le tecniche di pre-elaborazione; Ridurre la dimensionalità dei dati con le tecniche compressione; Conoscere, valutare e combinare i modelli di machine learning; Creare analisi del sentiment elaborando dati testuali dai social media; Integrare modelli di machine learning in applicazioni web; Elaborare previsioni attraverso i modelli di analisi a regressione; Individuare nuovi cluster e pattern di dati; Addestrare reti neurali al riconoscimento delle immagini; Lavorare con Theano per ottimizzare gli algoritmi di machine learning.

Lingua: Italiano.

Anno pubblicazione: 2016.

Consigliato a: Chi interessa l'argomento specifico.

Note: Traduzione di Python Machine Learning.

Lista redatta da Python.org

In lingua inglese esistono una serie (quasi) sterminata di titoli. Su Python.org è stata realizzata una grande opera di selezione e recensione, quindi non possiamo che lasciarvi il link alla risorsa.

Da notare che sono presenti link a versioni di altri linguaggi, non figura tra questi l'italiano però.