𝔖 Scriptorium
✦   LIBER   ✦

📁

Python. Guida alla sintassi, alle funzionalità avanzate e all'analisi dei dati. Con Contenuto digitale per download

✍ Scribed by Naomi Ceder


Publisher
Apogeo
Year
2019
Tongue
Italian
Leaves
467
Series
Guida completa
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


L'interesse per Python continua a crescere e le sue applicazioni si diffondono in ambiti sempre nuovi, dalla didattica in scuole e università alla data science e il deep learning. Elegante, semplice e completo, utilizzare Python significa anche avere a disposizione numerose librerie e framework dedicati. Scritto da un'autorità della comunità Python, questo manuale è dedicato ai programmatori che desiderano apprendere Python 3 nel modo più rapido e completo possibile. Il testo inizia con una panoramica generale sul linguaggio e le sue funzionalità di base, per poi introdurre caratteristiche via via più avanzate come la gestione del file system, la programmazione a oggetti e l'utilizzo delle librerie. Infine viene affrontato il tema della manipolazione e dell'analisi dei dati. La parte teorica è bilanciata da preziosi consigli per gestire diverse operatività, mentre esempi ed esercizi aiutano a padroneggiare i concetti più importanti. Che il tuo obiettivo sia la creazione di applicazioni web o la gestione di database, questo libro ti aiuterà a raggiungerlo nel modo migliore. File di esempio scaricabili online. Prefazione di Tollervey Nicholas.

✦ Table of Contents


Prefazione
Premessa
Ringraziamenti
Introduzione
Come usare questo libro
I capitoli
Convenzioni sul codice
Esercizi
Soluzioni degli esercizi
Download del codice sorgente
Requisiti di sistema
Requisiti software
Parte I - Per iniziare
Capitolo 1 - Parliamo di Python
Perché imparare a usare Python?
I punti di forza di Python
È facile da utilizzare
È espressivo
È leggibile
È un linguaggio completo, “batterie incluse”
È multipiattaforma
È gratuito
Le cose che Python non fa altrettanto bene
Non è un linguaggio velocissimo
Non offre molte librerie
Non controlla il tipo delle variabili al momento della compilazione
Non offre un grande supporto per i sistemi mobili
Non sfrutta i sistemi multiprocessore
Perché imparare proprio Python 3?
Riepilogo
Capitolo 2 - Preparativi
Installare Python
La modalità base interattiva e l’ambiente IDLE
La modalità base interattiva
L’ambiente di sviluppo integrato IDLE
Scelta fra la modalità base interattiva e l’ambiente IDLE
Uso di IDLE quale shell Python
Hello, world
Uso del prompt interattivo per esplorare Python
Riepilogo
Capitolo 3 - Panoramica rapida su Python
L’idea di base di Python
I tipi di dati built-in
Numeri
Liste
Tuple
Stringhe
Dizionari
Insiemi (set)
Oggetti file
Le strutture di controllo del flusso
Valori booleani ed espressioni
L’istruzione if-elif-else
Il ciclo while
Il ciclo for
Definizione di funzioni
Eccezioni
Gestione del contesto con la parola chiave with
La creazione di moduli
Programmazione a oggetti
Riepilogo
Parte II - Elementi di base
Capitolo 4 - Partiamo dall’inizio
L’indentazione e la struttura a blocchi
Differenziazione dei commenti
Le variabili e gli assegnamenti
Le espressioni
Le stringhe
I numeri
Funzioni numeriche interne
Funzioni numeriche avanzate
Calcolo numerico
Numeri complessi
Funzioni avanzate sui numeri complessi
Il valore None
Richiedere l’input all’utente
Gli operatori interni
Lo stile di programmazione Python
Riepilogo
Capitolo 5 - Liste, tuple e insiemi
Somiglianze tra liste e array
Gli indici delle liste
Modificare le liste
Ordinare le liste
Ordinamento personalizzato
La funzione sorted()
Altre operazioni comuni sulle liste
Appartenenza alla lista, con l’operatore in
Concatenamento di liste con l’operatore +
Inizializzazione delle liste con l’operatore *
Il minimo o il massimo di una lista con min e max
Ricerca nelle liste con indice
Conteggio degli elementi di una lista
Riepilogo delle operazioni sulle liste
Le liste annidate e la copia profonda
Le tuple
Elementi di base delle tuple
Una tupla di un elemento ha bisogno di una virgola
Elaborazione delle tuple
Conversione fra liste e tuple
Gli insiemi (set)
Operazioni sugli insiemi
Insiemi “congelati”
Riepilogo
Capitolo 6 - Stringhe
Le stringhe come sequenze di caratteri
Le operazioni di base sulle stringhe
I caratteri speciali e le sequenze di escape
Le sequenze di escape di base
Sequenze di escape numeriche (ottali ed esadecimali) e Unicode
Visualizzazione o valutazione delle stringhe con caratteri speciali
I metodi per le stringhe
I metodi per stringhe split e join
Conversione di stringhe in numeri
Eliminazione degli spazi in eccesso
Ricerca all’interno delle stringhe
Modifica delle stringhe
Modifica di stringhe utilizzando la manipolazione delle liste
Metodi e costanti utili
La conversione da oggetti a stringhe
Il metodo format
Il metodo format e i parametri posizionali
Il metodo format e i parametri con nome
Specificatori di formato
La formattazione delle stringhe con %
Uso delle sequenze di formattazione
Parametri con nome e sequenze di formattazione
L’interpolazione di stringhe
I valori bytes
Riepilogo
Capitolo 7 - Dizionari
Che cos’è un dizionario?
Altre operazioni sui dizionari
Contare le parole
Che cosa può essere utilizzato come chiave?
Le matrici sparse
I dizionari come cache
L’efficienza dei dizionari
Riepilogo
Capitolo 8 - Controllo del flusso di esecuzione
Il ciclo while
L’istruzione if-elif-else
Il ciclo for
La funzione range
Controllo di range con un valore iniziale e un passo
L’uso di break e continue nei cicli for
Il ciclo for e le tuple
La funzione enumerate
La funzione zip
Usare liste e dizionari
Espressioni generative
Le istruzioni, i blocchi e l’indentazione
Le espressioni e i valori booleani
La maggior parte degli oggetti Python può essere utilizzata come un valore booleano
Confronti e operatori booleani
Scrivere un semplice programma per l’analisi di un file di testo
Riepilogo
Capitolo 9 - Funzioni
Definire le funzioni più semplici
Le opzioni per i parametri delle funzioni
Parametri posizionali
Passaggio di argomenti in base al nome del parametro
Numero variabile di argomenti
Gestire un numero indefinito di argomenti posizionali
Gestire un numero indefinito di argomenti passati per parola chiave
Utilizzo misto di più tecniche di passaggio degli argomenti
Gli oggetti mutabili usati come argomenti
Le variabili locali, non locali e globali
Assegnare funzioni alle variabili
Le espressioni lambda
Le funzioni generative
I decoratori
Riepilogo
Capitolo 10 - Moduli e regole di visibilità
Che cos’è un modulo?
Un primo modulo
L’istruzione import
Il percorso di ricerca dei moduli
Dove collocare i moduli
I nomi privati nei moduli
I moduli della libreria e i moduli sviluppati da terzi
Le regole di visibilità e i namespace in Python
Riepilogo
Capitolo 11 - Programmi Python
Creare un semplice programma
Avviare uno script dalla riga di comando
Argomenti della riga di comando
Redirezione dell’input e dell’output di uno script
Il modulo argparse
Uso del modulo fileinput
Creare uno script eseguibile direttamente in UNIX
Gli script in OS X
Le opzioni di esecuzione degli script in Windows
Avvio di uno script dalla finestra dei comandi o dalla PowerShell
Altre opzioni per Windows
I programmi e i moduli
Distribuire le applicazioni Python
Wheel per Python
zipapp e pex
py2exe e py2app
Creazione di programmi eseguibili con freeze
Riepilogo
Capitolo 12 - Uso del file system
os e os.path vs pathlib
I percorsi e i nomi di percorsi
Percorsi assoluti e relativi
La directory di lavoro corrente
Accesso alle directory con pathlib
Manipolazione dei percorsi
Manipolazione dei percorsi con pathlib
Costanti e funzioni utili
Ottenere informazioni sui file
Ottenere informazioni sui file con scandir
Altre operazioni sul file system
Altre operazioni sui file system con pathlib
Elaborare tutti i file di un sottoalbero di directory
Riepilogo
Capitolo 13 - Lettura e scrittura su file
Aprire file e oggetti file
Chiudere i file
Aprire i file in scrittura o in altre modalità
Le funzioni per leggere e scrivere testo o dati binari
Uso della modalità binaria
Leggere e scrivere con pathlib
L’input e l’output su schermo e la redirezione
Leggere dati binari strutturati con il modulo struct
I file di oggetti
Motivi per non utilizzare pickle
Gli oggetti e il modulo shelve
Riepilogo
Capitolo 14 - Eccezioni
Introduzione alle eccezioni
Filosofia generale di gestione degli errori e delle eccezioni
Soluzione 1 – Non gestire il problema
Soluzione 2 – Tutte le funzioni restituiscono un proprio status di successo o fallimento
Soluzione 3 – Il meccanismo delle eccezioni
Una definizione più formale delle eccezioni
Gestione di vari tipi di eccezioni
Le eccezioni in Python
Tipi di eccezioni in Python
Lancio di eccezioni
Raccolta e gestione delle eccezioni
Definizione di nuove eccezioni
Debugging di programmi con l’istruzione assert
La gerarchia di ereditarietà delle eccezioni
Esempio: un programma di scrittura su disco in Python
Esempio: eccezioni nella normale valutazione
Dove utilizzare le eccezioni
I gestori di contesto con la parola chiave with
Riepilogo
Parte III - Funzionalità avanzate del linguaggio
Capitolo 15 - Classi e programmazione a oggetti
La definizione delle classi
Uso di un’istanza di una classe come una struttura o un record
Le variabili d’istanza
I metodi
Le variabili di classe
Una particolarità delle variabili di classe
I metodi statici e i metodi di classe
Metodi statici
Metodi di classe
L’ereditarietà
L’ereditarietà con le variabili di classe e d’istanza
Per ricapitolare: le basi delle classi in Python
Le variabili private e i metodi privati
Usare @property per migliorare la flessibilità delle variabili d’istanza
Le regole di visibilità e i namespace per le istanze delle classi
I distruttori e la gestione della memoria
L’ereditarietà multipla
Riepilogo
Capitolo 16 - Espressioni regolari
Che cos’è un’espressione regolare?
Le espressioni regolari con caratteri speciali
Le espressioni regolari e le stringhe grezze
Utilizzo delle stringhe grezze
Estrarre testi dalle stringhe
Sostituire del testo tramite espressioni regolari
Riepilogo
Capitolo 17 - Tipi di dati come oggetti
Anche i tipi sono oggetti
Usare i tipi
I tipi e le classi definiti dall’utente
La determinazione del tipo “ad anatra”
Che cos’è un metodo-attributo speciale?
Creare un oggetto che si comporta come una lista
Il metodo-attributo speciale getitem
Come funziona
Implementazione completa delle funzionalità di una lista
Fornire a un oggetto tutte le funzionalità di una lista
Le sottoclassi dei tipi built-in
Sottoclasse di una lista
Sottoclasse di UserList
Quando utilizzare i metodi-attributi speciali
Riepilogo
Capitolo 18 - Package
Che cos’è un package?
Un primo esempio
Un esempio concreto
I file init.py nei package
Utilizzo di base del package mathproj
Caricamento di sub-package e sub-moduli
Istruzioni di importazione all’interno dei package
L’attributo all
L’utilizzo corretto dei package
Riepilogo
Capitolo 19 - Uso delle librerie Python
La filosofia “batterie incluse”:la libreria standard
Gestione dei vari tipi di dati
Manipolazione di file e memoria
Accesso ai servizi del sistema operativo
Uso dei protocolli e dei formati Internet
Strumenti di sviluppo e debugging e servizi runtime
Oltre la libreria standard
Aggiunta di altre librerie Python
Installare le librerie Python utilizzando pip e venv
Installazione con il flag -user
Ambienti virtuali
PyPI (alias “The Cheese Shop”)
Riepilogo
Parte IV - Gestione dei dati
Capitolo 20 - Le basi della manipolazione dei file
Il problema: l’incessante flusso di file di dati
Lo scenario: un feed di prodotti, in arrivo da chissà dove
Una migliore organizzazione
Risparmiare spazio su disco: compressione e potatura
Compressione dei file
Potatura di file
Riepilogo
Capitolo 21 - Elaborazione di file di dati
Le operazioni ETL
Leggere file di testo
La codifica del testo: ASCII, Unicode e altri
Unicode e UTF-8
Testo non strutturato
File di testo delimitati
Il modulo csv
Lettura di un file CSV come una lista di dizionari
I file di Excel
Ripulire i dati
Pulizia
Ordinamento
Problemi e trappole nella pulizia dei dati
Scrivere file di dati
CSV e altri file delimitati
Scrittura di file di Excel
Package di file di dati
Riepilogo
Capitolo 22 - Dati in rete
Leggere i file
Usare Python per scaricare file da un server FTP
Lettura di file con SFTP
Lettura dei file su HTTP/HTTPS
Leggere i dati tramite un’API
I formati strutturati per i dati
Dati JSON
Dati XML
Scaricare dati dal Web
Riepilogo
Capitolo 23 - Salvataggio dei dati
I database relazionali
La Database API di Python
SQLite: uso del database sqlite3
Usare MySQL, PostgreSQL e altri database relazionali
Semplificare la gestione dei database con un ORM
SQLAlchemy
Mappaggio fra oggetti della tabella e classi
Uso di Alembic per modificare lo schema del database
I database NoSQL
Usare archivi chiave:valore con Redis
Scadenza dei valori
Archiviare documenti con MongoDB
Riepilogo
Capitolo 24 - Esplorazione dei dati
Gli strumenti offerti da Python per l’esplorazione dei dati
I vantaggi di Python nell’esplorazione dei dati
Python può essere meglio di un foglio di lavoro
Notebook Jupyter
Avvio di un kernel
Esecuzione del codice in una cella
Python e pandas
Perché usare pandas
Installazione di pandas
Data frame
Ripulire i dati
Caricamento e salvataggio dei dati con pandas
Salvataggio dei dati
Pulizia dei dati con un data frame
Aggregare e manipolare i dati
Unione di data frame
Selezione dei dati
Raggruppamento e aggregazione
Tracciare i dati
Perché non utilizzare pandas
Riepilogo
Caso di studio
Download dei dati
Analisi dei dati
Scelta di una stazione sulla base dei valori di latitudine e longitudine
Scelta di una stazione e prelievo dei metadati della stazione
Lettura e analisi dei dati meteorologici
Lettura dei dati
Parsing dei dati meteorologici
Salvataggio dei dati meteorologici in un database (opzionale)
Selezione e rappresentazione grafica dei dati
Uso di pandas per il trattamento grafico dei dati
Appendice A - Guida alla documentazione di Python
L’accesso alla documentazione Python via Web
Sfogliare la documentazione di Python sul computer
Accesso all’help nella shell interattiva o alla riga di comando
Generare pagine di help HTML con PYDOC
Uso di pydoc come server per la documentazione
Uso del file della Guida di Windows
Download della documentazione
Consigli pratici: come programmare in stile Python
Dieci suggerimenti per diventare Pythonista
PEP 8: guida stilistica per il codice Python
Introduzione
La coerenza cieca è il dramma delle menti limitate
Disposizione del codice
Indentazione
Tabulazione o spazi?
Lunghezza massima delle righe
Righe vuote
Impostazioni
Spazi nell’espressione nelle istruzioni
Altri consigli
Commenti
Commenti a blocco
Commenti in linea
Stringhe di documentazione
Gestione delle versioni
Convenzioni di denominazione
Siate descrittivi: stili di denominazione
Prescrizioni: convenzioni di denominazione
Consigli di programmazione
Altre guide di stile per Python
Lo Zen di Python
Lo Zen di Python
Appendice B - Soluzioni degli esercizi
Capitolo 4
Verifica – Variabili ed espressioni
Soluzione
Verifica – Manipolazione di stringhe e numeri
Soluzione
Verifica – Richiedere un input
Soluzione
Ripasso – Lo stile Python
Soluzione
Capitolo 5
Ripasso – len()
Soluzione
Verifica – Slicing di liste e indici
Soluzione
Verifica – Modificare le liste
Soluzione
Verifica – Ordinare le liste
Soluzione
Ripasso – Operazioni sulle liste
Soluzione
Soluzione
Soluzione
Verifica – Operazioni sulle liste
Soluzione
Soluzione
Verifica – Copie di liste
Soluzione
Ripasso – Le tuple
Soluzione
Soluzione
Ripasso – Gli insiemi
Soluzione
Laboratorio 5 – Esaminare una lista
Soluzione
Bonus
Soluzione
Capitolo 6
Ripasso – split e join
Soluzione
Ripasso – Da stringhe a numeri
Soluzione
Ripasso – Strip
Soluzione
Ripasso – Ricerca nelle stringhe
Soluzione
Ripasso – Modifica delle stringhe
Soluzione
Verifica – Operazioni sulle stringhe
Soluzione
Soluzione
Ripasso – Il metodo format()
Soluzione
Soluzione
Soluzione
Soluzione
Ripasso – Formattazione delle stringhe con %
Soluzione
Soluzione
Soluzione
Ripasso – Bytes
Soluzione
Soluzione
Soluzione
Soluzione
Laboratorio 6 – Pre-elaborazione del testo
Soluzione
Capitolo 7
Verifica – Creare un dizionario
Soluzione
Ripasso – Operazioni sui dizionari
Soluzione
Ripasso – Che cosa può essere una chiave?
Soluzione
Verifica – Uso dei dizionari
Soluzione
Laboratorio 7 – Conteggio di parole
Soluzione
Capitolo 8
Verifica – Cicli e istruzioni if
Soluzione
Soluzione
Soluzione
Verifica – Le comprehension
Soluzione
Soluzione
Soluzione
Ripasso – Valori booleani e verità
Soluzione
Laboratorio 8 – Rielaborazione di word_count
Soluzione (File word_count_refactored.py)
Capitolo 9
Ripasso – Funzioni e parametri
Soluzione
Soluzione
Soluzione
Ripasso – Parametri di funzione mutabili
Soluzione
Verifica – Variabili globali e locali
Soluzione
Ripasso – Le funzioni generative
Soluzione
Verifica – Decoratori
Soluzione
Laboratorio 9 – Funzioni utili
Soluzione
Capitolo 10
Ripasso – I moduli
Soluzione
Soluzione
Ripasso – Namespace e visibilità
Soluzione
Laboratorio 10 – Creare un modulo
Soluzione
Capitolo 11
Verifica – Rendere eseguibile uno script
Soluzione
Ripasso – I programmi e i moduli
Soluzione
Laboratorio 11 – Creazione di un programma
Soluzione
Capitolo 12
Ripasso – Manipolazione dei percorsi
Soluzione
Soluzione
Laboratorio 12 – Operazioni sui file
Soluzione
Soluzione
Capitolo 13
Ripasso
Soluzione
Soluzione
Verifica – Redirezione di input e output
Soluzione
Ripasso – struct
Soluzione
Ripasso – Pickle
Soluzione
Ripasso – Shelf
Soluzione
Laboratorio 13 – Ultime correzioni a wc
Soluzione
Capitolo 14
Verifica – Raccolta delle eccezioni
Soluzione
Ripasso – Le eccezioni come classi
Soluzione
Verifica – L’istruzione assert
Soluzione
Ripasso – Le eccezioni
Soluzione
Soluzione
Verifica – Le eccezioni
Soluzione
Ripasso – I gestori di contesto
Soluzione
Laboratorio 14 – Eccezioni personalizzate
Soluzione
Capitolo 15
Verifica – Le variabili d’istanza
Soluzione
Verifica – Variabili e metodi d’istanza
Soluzione
Verifica – I metodi di classe
Soluzione
Verifica – L’ereditarietà
Soluzione
Soluzione
Verifica – Variabili private dell’istanza
Soluzione
Verifica – Le proprietà
Soluzione
Laboratorio 15 – Classi HTML
Soluzione
Capitolo 16
Ripasso – Caratteri speciali nelle espressioni regolari
Soluzione
Soluzione
Verifica – Estrarre il testo
Soluzione
Verifica – Sostituzione del testo
Soluzione
Laboratorio 16 – Normalizzatore per numeri telefonici
Soluzione
Capitolo 17
Ripasso – I tipi
Soluzione
Ripasso – getitem
Soluzione
Verifica – Implementazione dei metodi speciali per le liste
Soluzione
Ripasso – Metodi-attributi speciali e sottoclassi di tipi esistenti
Soluzione
Capitolo 18
Ripasso – I package
Soluzione
Laboratorio 18 – Creare un package
Soluzione
Capitolo 20
Ripasso – Considerate le scelte
Soluzione
Ripasso – Potenziali problemi
Soluzione
Soluzione
Verifica – Implementazione di più directory
Soluzione
Ripasso – Soluzioni alternative
Soluzione
Verifica – Pseudocodice per l’archiviazione di file ZIP
Soluzione
Ripasso – Considerate parametri differenti
Soluzione
Capitolo 21
Ripasso – Normalizzazione
Soluzione
Verifica – Lettura di un file
Soluzione
Soluzione
Ripasso – Gestione degli apici
Soluzione
Verifica – Ripulire i dati
Soluzione
Soluzione
Laboratorio 21 – Osservazioni meteorologiche
Soluzione
Capitolo 22
Verifica – Scaricare un file
Soluzione
Verifica – Accesso a un’API
Soluzione
Verifica – Salvare dati sulla criminalità in formato JSON
Soluzione
Verifica – Lettura e parsing di codice XML
Soluzione
Verifica – Parsing HTML
Soluzione
Verifica – Controllare il meteo su Marte
Soluzione
Capitolo 23
Verifica – Creare e modificare tabelle
Soluzione
Verifica – Uso di un ORM
Soluzione
Verifica – Modificare un database con Alembic
Soluzione
Ripasso – Uso degli archivi chiave:valore
Soluzione
Ripasso – Usi di MongoDB
Soluzione
Laboratorio 23 – Creare un database
Soluzione
Capitolo 24
Verifica – Uso di notebook Jupyter
Soluzione
Verifica – Pulizia dei dati con e senza pandas
Soluzione
Ripasso – Unione di dati
Soluzione
Ripasso – Selezione in Python
Soluzione
Verifica – Raggruppamento e aggregazione
Soluzione
Verifica – Tracciamento
Soluzione


📜 SIMILAR VOLUMES


Python. Guida alla sintassi, alle funzio
✍ Naomi Ceder 📂 Library 📅 2019 🏛 Apogeo 🌐 Italian

<span>L'interesse per Python continua a crescere e le sue applicazioni si diffondono in ambiti sempre nuovi, dalla didattica in scuole e università alla data science e il deep learning. Elegante, semplice e completo, utilizzare Python significa anche avere a disposizione numerose librerie e framewor

Introduzione alla teoria della misura e
✍ Piermarco Cannarsa, Teresa D'Aprile 📂 Library 📅 2008 🏛 Springer Verlag 🌐 Italian

II testo presenta una trattazione della teoria della misura da un punto di vista astratto, con particolare enfasi su alcuni aspetti di interesse in probabilità. Gli argomenti tipici della teoria dell'integrazione sono sviluppati in modo piuttosto approfondito, cercando laddove possibile di dedurre a

Analisi del linguaggio con Python. Impar
✍ Serena Sensini 📂 Library 📅 2019 🏛 Apogeo 🌐 Italian

<span>I computer sono bravissimi a lavorare con dati standardizzati e strutturati e riescono a elaborarli velocemente e con precisione. Questo ha però un limite: le persone non comunicano in dati strutturati, né parlano in codice binario, anzi, il linguaggio umano è complesso e articolato. Questo ma

Cajkowskij. Guida alla vita e all'ascolt
✍ David Brown 📂 Library 📅 2012 🏛 Il Saggiatore 🌐 Italian

<span>Questo libro, riduzione in volume unico del classico studio in quattro tomi che David Brown ha dedicato a Cajkovskij, racconta la vita di uno dei più amati compositori dell'Ottocento ed è anche una guida all'ascolto della sua opera, dai famosissimi balletti fino alle composizioni meno conosciu