Python per tutti - Charles Severance

Python per tutti

Esplorare dati con Python 3 Charles R. Severance

Crediti

Supporto editoriale: Elliott Hauser, Sue Blumenberg Cover Design: Aimee Andrion

Cronologia di stampa

? 05 Luglio 2016 Prima versione completa di Python 3.0 ? 20 Dicembre 2015 Conversione iniziale approssimativa verso Python 3.0

Dettagli sul copyright

Copyright ~2009- Charles Severance. Quest'opera ? rilasciata sotto licenza Creative Common Attribution-Non Commercial-Share Alike 3.0 Unported. Questa licenza ? disponibile all'indirizzo: La definizione di ci? che l'autore considera uso commerciale e non-commerciale di questo materiale cos? come le esenzioni alla licenza sono disponibili nell'Appendice intitolata Dettagli sul Copyright.

iii

Prefazione

Il remix di un Open Book

? abbastanza naturale per gli accademici, che si sentono dire continuamente "pubblica o muori", voler sempre creare dal nulla qualcosa che sia una loro nuova creazione. Questo libro ? un esperimento: non partire da zero, ma invece "remixare" il libro dal titolo "Think Python: How to Think Like a Computer Scientist" scritto da Allen B. Downey, Jeff Elkner ed altri.

Nel dicembre del 2009 mi stavo preparando a tenere il corso "SI502 - Networked Programming" presso l'Universit? del Michigan per il quinto semestre consecutivo e ho deciso che era tempo di scrivere un libro di testo su Python che si concentrasse sull'esplorazione dei dati invece che sulla comprensione di algoritmi ed astrazioni. Il mio obiettivo, nel SI502, era quello di insegnare le tecniche fondamentali di analisi dei dati utilizzando Python. Pochi dei miei studenti avevano in progetto di diventare programmatori professionisti, altri pianificavano di diventare bibliotecari, manager, avvocati, biologi, economisti o altro e desideravano imparare ad utilizzare abilmente le tecnologie nei rispettivi campi professionali.

Non avendo mai trovato un libro su Python che fosse perfettamente orientato alla gestione dei dati per il mio corso, decisi di scriverne uno. Fortunatamente, tre settimane prima che iniziassi a lavorarci approfittando delle vacanze, in una riunione di facolt?, il Dr. Atul Prakash mi mostr? il libro "Think Python" che lui stesso aveva usato per il suo corso. Si tratta di un testo di Informatica ben scritto, focalizzato su brevi spiegazioni dirette che facilitano l'apprendimento.

La struttura complessiva del libro ? stata modificata per arrivare a gestire i problemi di analisi dei dati il pi? rapidamente possibile e per fornire una serie di esercizi ed esempi sull'analisi dei dati fin dall'inizio.

I capitoli 2-10 sono simili al libro Think Python nonostante siano state fatte importanti modifiche. Gli esempi e gli esercizi orientati alla gestione di numeri sono stati sostituiti con esercitazioni orientate ai dati. Gli argomenti sono presentati in un ordine tale da fornire soluzioni di analisi dei dati via via sempre pi? sofisticate. Alcuni argomenti come "try" e "except" sono stati anticipati e presentati come parte del capitolo sull'esecuzione condizionale. Piuttosto che essere trattate gi? dall'inizio in maniera astratta, le funzioni sono state trattate pi? superficialmente sino al momento in cui sono diventate necessarie per gestire la complessit? dei programmi. Quasi tutte le funzioni definibili dall'utente sono state rimosse dai codici di esempio ed esercitazione al di fuori del Capitolo 4. La parola "ricorsivo"1 non viene mai utilizzata in alcuna parte del libro.

Tutto il materiale nei capitoli 1 e 11-16 ? nuovo di zecca, ed ? focalizzato sull'uso di Python in applicazioni del mondo reale e fornisce semplici esempi per l'analisi dei dati, comprendendo espressioni regolari per la ricerca e l'analisi, l'automatizzazione delle attivit? sul computer, il recupero dei dati attraverso la rete, il prelievo di dati da pagine web, l'utilizzo di servizi web, l'analisi di dati in formato XML e JSON, la creazione e l'utilizzo di database utilizzando lo Structured Query Language e la rappresentazione di dati.

1Ad eccezione, ovviamente, di questa riga.

iv

L'obiettivo finale di tutti questi cambiamenti ? quello di includere in un corso di primo livello solo quegli argomenti che potranno tornare utili anche a coloro che non sceglieranno di diventare programmatori professionisti.

Gli studenti che troveranno questo libro interessante e che vogliano esplorare ulteriormente l'argomento, dovrebbero considerare il libro Think Python di Allen B. Downey. Date le molte sovrapposizioni tra i due libri, gli studenti saranno in grado di acquisire rapidamente alcune ulteriori competenze nelle ulteriori aree della tecnica di programmazione e del pensiero algoritmico che sono parte di Think Python. Inoltre, dato che i due libri hanno uno stile di scrittura simile, per loro sar? facile muoversi all'interno di Think Python.

Come detentore del copyright su Think Python, Allen mi ha dato il permesso di cambiare la licenza del materiale dal suo libro che viene incluso in questo libro, da GNU Free Documentation License alla pi? recente Creative Commons Attribution -- Share Alike license. Questo segue il generale cambiamento nelle licenze di documentazione aperta che si stanno spostando da GFDL a CC BY-SA (vedi Wikipedia). L'utilizzo della licenza CC BY-SA indica ai fruitori dell'opera che essa pu? essere utilizzata, diffusa e anche modificata liberamente, pur nel rispetto di alcune condizioni essenziali e rende ancora pi? semplice ai nuovi autori riutilizzare questo materiale.

Ritengo che questo libro sia un esempio del perch? i materiali aperti siano cos? importanti per il futuro della formazione. Voglio ringraziare Allen B. Downey e la Cambridge University Press per la loro decisione lungimirante nel rendere il libro disponibile sotto un open Copyright. Spero che siano soddisfatti dei risultati del nostro impegno collettivo e mi auguro lo siate anche voi lettori.

Vorrei ringraziare Allen B. Downey e Lauren Cowles per il loro aiuto, la pazienza, e la guida nell'affrontare e risolvere i problemi di copyright riguardanti questo libro.

Charles Severance dr- Ann Arbor, MI, USA 9 settembre 2013

Charles Severance ? Clinical Associate Professor presso l'Universit? del Michigan - School of Information.

Indice

1 Perch? dovresti imparare a programmare?

1

1.1 Creativit? e motivazione . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Architettura hardware del computer . . . . . . . . . . . . . . . . . 3

1.3 Capire la Programmazione . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 Parole e frasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5 Conversare con Python . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.6 Terminologia: interprete e compilatore . . . . . . . . . . . . . . . . 8

1.7 Scrivere un programma . . . . . . . . . . . . . . . . . . . . . . . . 10

1.8 Cos'? un programma? . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.9 I blocchi per costruire i programmi . . . . . . . . . . . . . . . . . . 12

1.10 Cosa potrebbe andare storto? . . . . . . . . . . . . . . . . . . . . . 13

1.11 Il percorso di studio . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.12 Glossario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.13 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Variabili, espressioni ed istruzioni

19

2.1 Valori e tipi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2 Variabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3 Nomi delle variabili e parole chiavi . . . . . . . . . . . . . . . . . . 21

2.4 Istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.5 Operatori e operandi . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.6 Espressioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.7 Ordine delle operazioni . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.8 Operatore modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.9 Operazioni con le stringhe . . . . . . . . . . . . . . . . . . . . . . . 24

2.10 Chiedere un valore in input all'utente . . . . . . . . . . . . . . . . 24

v

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download