I libri su Python

Libri Online

Sono stati tradotti alcuni libri su Python con il supporto dei componenti della comunità italiana, periodicamente viene scelto un testo, ovviamente "libero" e viene tradotto. Sono gradite collaborazioni, vedete la sezione Aiutaci!!! se volete contribuire.

Pensare da informatico: Imparare con Python

La versione Python del libro di Allen Downey: How to Think Like a Computer Scientist.

È 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. L'unica critica che si può rivolgere a questo testo è che non è aggiornato con le ultime versioni del linguaggio, però, vista l'utenza a cui si rivolge non è un problema. Chiunque acquisisca le conoscenze tratte da questo libro non avrà alcun problema ad "aggiornarsi"...

Tutorial per principianti in Python di Josh Cogliati

Il Tutorial per principianti in Python è un libro dedicato ai neofiti della programmazione, tiene in considerazione solamente il linguaggio di programmazione Python. Contiene molti esempi, spiegati dettagliatamente.

Dive Into Python - Python per programmatori esperti

Dive Into Python è un libro gratuito sul linguaggio di programmazione Python, per programmatori esperti. Aggiornato alla versione rilasciata dall'autore nell'ottobre 2003 (versione 4.4), un ottimo libro con licenza GNU FDL (Free Documentation License). Il testo, con i suoi formati disponibili è stato mirrorato, ma lo potrete trovare anche presso il sito dell'autore perché Mark, gentilmente, ha messo a disposizione un dominio di secondo livello per la fruizione del testo: http://it.diveintopython.net

Imparare a programmare di Alan Gould

Una introduzione alla programmazione usando Python, per quelli che non hanno mai programmato prima, a cura di Alan Gauld. È un documento in html, disponibile a pagamento e, nella versione in lingua originale, anche nella versione cartacea. Ha delle limitazioni di licenza e quindi è disponibile solamente nella versione HTML. Comunque è un buon testo, considera prevalentemente i linguaggi Python e Basic, introduttivo alla programmazione, dedicato anche questo ai principianti.

Libri veri, di carta...

In circolazione di libri sul linguaggio di programmazione Python, in lingua italiana, ce ne sono a dir la verità pochini. Ecco i principali:

Python - Guida completa

Python Guida Completa

di Marco Buttu

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

Giudizio: Consigliatissimo.

Imparare Python

Imparare Python

di Lutz Mark

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.

Giudizio: caldamente consigliato.

Python Pocket (Nuova edizione)

Python pocket

di Marco Beri

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.

Io lo trovo davvero uno strumento utile per tutti.

Giudizio: essenziale averlo.

Appunti di programmazione (scientifica) in Python

Copertina del libro Appunti di programmazione (scientifica) in Python

di Fabio Aiolli

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.

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

Programmazione con Python

Programmazione con Python

di Kenneth A. Lambert

Giudizi contrastanti su questo volume. Edito da Apogeo come traduzione del Fundamentals of Python: First Programs non ha incontrato sempre i favori dei lettori. A mio parere 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.

Giudizio: non un libro da avere a tutti i costi, ma una piacevole lettura.

Libri veri, di carta (Volumi datati)

I libri presenti in questa sotto sezione, seppur contenenti informazioni sempre valide e utili, fanno riferimento a versioni del linguaggio obsoleti, oppure sono stati sostituiti da nuove versioni preferibili a quelle descritte.

Programmare con Python

Programmare con Python

di Lutz Mark e Ascher David

Il volume in questione è stato per anni il libro più corposo mai rilasciato sul Python in lingua italiana. Traduzione dell'originale Learning Python, anche se è ancora possibile trovarlo in store online e fisici, è da considerarsi come passato, scusate l'orrendo termine. La versione descritta sopra, Imparare Python, è sicuramente da preferirgli perché più aggiornata ed oltretutto con nuove sezioni.

Tanto per completezza d'informazione, la versione del linguaggio è la 2.3, ma dobbiamo considerare che l'uscita di questo volume è del luglio del 2004.

Giudizio: lasciare, in favore di letture più aggiornate.

Python Pocket

Copertina "Python Pocket"

di Marco Beri

Questo è il primo libro originale italiano dedicato a Python. Il volume, aggiornato a Python 2.5, introduce gli utenti Windows e Unix all'utilizzo di Python, partendo dai concetti fondamentali per poi passare alla pratica con esemplificazioni di complessità crescente.

Su gentile concessione dell'editore, su python.it è disponibile un estratto di 50 pagine del libro (su un totale di 216 pagine).

Il presente documento è liberamente e gratuitamente distribuibile a scopi promozionali. Vietata la vendita e qualsiasi utilizzo commerciale.

Python 2.1 Tutto e oltre

Copertina Python 2.1

di David Brueck e Stephan Tanner

I pareri espressi dai partecipanti alla vecchia ML e al news group su questo testo sono discordanti. Di sicuro è basato su una versione del linguaggio un po' datata, come si evince dal titolo, la versione è la 2.1. Molti ne criticano pure la traduzione...

"Personalmente l'ho comprato e forse a causa della mia inesperienza l'ho trovato comunque molto utile, specie se sei un principiante, con il supporto i testi tradotti dai collaboratori di questo sito l'ho trovato molto utile come guida di riferimento."

Libri in inglese

Chiaramente, per chi conosce l'inglese esistono molti più testi, un'ottima soluzione è acquistare direttamente un libro all'estero. A questo proposito il news group italiano si è espresso quasi all'unanimità con grande apprezzamento verso questi due testi:

Python in a Nutshell

Copertina "Python in a Nutshell"

di Alex Martelli

Visualizza sul sito O'Reilly

Il testo, come è tipico per i "Nutshell" di O'Reilly, è inteso anzitutto come manuale di riferimento, conciso, essenziale e pragmatico, per Python e per le sue librerie. A differenza dei manuali di riferimento "ufficiali", non è tenuto a coprire il 100% degli argomenti, e quindi evita le cose più oscure, strane e marginali, selezionando invece tutte le parti di massima utilità pratica; questo gli permette, nonostante la concisione, di coprire non solo le librerie standard di Python, ma anche alcune delle estensioni più importanti (per GUI, calcolo numerico, accesso a DB, ecc). Riesce inoltre a fornire tanti piccoli ma preziosi consigli pratici e persino una discreta collezione di piccoli ma utili esempi (particolarmente preziosi quelli del capitolo su socket e server di rete, dove lo stesso piccolissimo server viene realizzato ripetutamente con i più svariati approcci e moduli, sia standard sia di estensione). Il testo copre più che altro Python 2.2 (peraltro, Python 2.3 è vicinissimo a 2.2, quindi non richiede un aggiornamento del testo stesso). Benché, come già detto, sia anzitutto un manuale di riferimento, parecchi programmatori, già esperti in altri linguaggi ma digiuni di Python, hanno riferito di avere trovato questo testo molto utile anche per l'apprendimento di Python stesso.

Python Cookbook

Copertina "Python Cookbook"

di Alex Martelli e David Ascher

Visualizza sul sito O'Reilly

Il testo è una "antologia" di esempi di uso di Python per risolvere centinaia di diversi problemi, con oltre cento autori, ma uno stile reso più uniformemente leggibile e chiaro dall'infaticabile lavoro editoriale di Alex e David, che hanno assicurato che ogni "ricetta" fosse accompagnata da abbondante discussione, possibilità alternative, e opportuni "puntatori" sia all'interno del libro stesso sia ad altri documenti disponibili in linea, compresa la documentazione "ufficiale" di Python. Ogni capitolo, relativo ad una data categoria di argomenti (l'XML, la rete, la programmazione distribuita, gli algoritmi, ...) è preceduto da un'introduzione scritta da un autore particolarmente esperto relativamente alla data categoria: alcuni di questi testi (di Guido van Rossum, Tim Peters, Alex Martelli, Fredrik Lundh, Paul Prescott, e tanti altri ancora) sono dei veri gioielli. Purtroppo la versione di Python usata nelle "ricette" varia: per lo più si tratta di 2.1, ma si trovano anche alcune che usano 2.0 o persino versioni precedenti, e solo poche toccano 2.2. In molti casi questo non ha importanza, ma ci sono anche degli esempi che, se si usasse solo e uniformemente la versione più aggiornata di Python, si potrebbero esprimere più semplicemente.

Il consiglio personale di Alex, per chi sia in dubbio relativamente all'acquisto di questi libri (ad esempio, per l'incertezza sulla propria competenza in inglese), è il seguente: iscriversi al servizio di lettura di libri in linea offerto da O'Reilly!

Le prime due settimane sono gratuite, e in due settimane si possono leggere e anche studiare ampie parti di questi libri (o, a scelta, altri di O'Reilly, sia relativi a Python sia ad altri argomenti), e così decidere a ragion veduta se meriti o meno acquistarli. Basta ricordarsi di cancellare la propria iscrizione entro 14 giorni per non dovere pagare l'abbonamento a Safari (a meno che, ovviamente, non lo si ritenga abbastanza utile da valere la spesa!).