| Indice
Prefazione
Parte I Per cominciare
1 Domande e risposte su Python
Perche' usare Python?
Python non e' linguaggio script?
Bene, ma quali sono gli svantaggi?
Chi usa Python oggi?
Cosa posso fare con Python?
Quali sono i punti di forza tecnici di Python?
Come si comporta Python rispetto al linguaggio X?
2 Come Python esegue i vostri programmi
Introduzione all'interprete Python
Esecuzione dei programmi
Modelli d'esecuzione alternativi
3 Come voi eseguite i programmi Python
Codifica interattiva
Linee di comando di sistema e file
Cliccare le icone dei file di Windows
Importazione e ricaricamento dei moduli
L'interfaccia utente IDLE
Altri IDE
Inglobare le chiamate
Eseguibili contenenti binari congelati
Le opzioni di esecuzione degli editor di testo
Altre opzioni di esecuzione
Quali possibilita' future?
Quale opzione uso?
Esercizi relativi alla Parte I
Parte II Tipi e operazioni
4 Numeri
La struttura di un programma Python
Perche' usare i tipi precostituiti?
Numeri
Operatori Python per le espressioni
Numeri in pratica
Breve parentesi sulla tipizzazione dinamica
5 Stringhe
Letterali stringa
Stringhe in pratica
Formattazione delle stringhe
Metodi per le stringhe
Categorie generali di tipi
6 Liste e dizionari
Liste
Liste in pratica
Dizionari
Dizionari in pratica
7 Tuple, file e tutto il resto
Tuple
File
Rivisitazione delle categorie generali dei tipi
Generalita' sugli oggetti
Referenze e copie a confronto
Confronti, uguaglianze e verita'
La gerarchia dei tipi Python
Altri tipi Python
Trappole d'uso dei tipi precostituiti
Esercizi relativi alla Parte II
Parte III Istruzioni e sintassi
8 Assegnamenti, espressioni e visualizzazioni
Istruzioni di assegnamento
Espressioni come istruzioni
Istruzioni print
9 I test if
Istruzioni if
Regole della sintassi Python
Test di verita'
10 Cicli while e for
Cicli while
Break, continue, pass ed else bei cicli
Cicli for
Cicli: variazioni sul tema
11 Documentare il codice Python
Breve parentesi sulla documentazione di Python
Trappole d'uso comuni
Esercizi relativi alla Parte III
Parte IV Funzioni
12 Le basi delle funzioni
Perche' usare le funzioni?
Codifica delle funzioni
Un primo esempio: definizione e chiamata
Un secondo esempio: intersezione di sequenze
13 Scopi e argomenti
Regole di scopo
Istruzione global
Scopi e funzioni annidati
Passaggio degli argomenti
Modalita' di accoppiamento degli argomenti speciali
14 Argomenti avanzati sulle funzioni
Funzioni anonime: le lambda
Applicare funzioni ad argomenti
Mappare funzioni su sequenze
Strumenti di programmazione funzionale
Descrizione di lista
Generatori e iteratori
Concetti di progettazione delle funzioni
Trappole d'uso delle funzioni
Esercizi relativi alla Parte IV
Parte V Moduli
15 I moduli: il quadro generale
Perche' usare i moduli?
Architettura di un programma Python
Come funziona l'importazione
16 I fondamenti della codifica dei moduli
Creazione dei moduli
Uso dei moduli
Lo spazio dei nomi dei moduli
Ricaricare i moduli
17 I moduli package
I fondamenti dell'importazione di package
Un esempio di importazione di package?
Perche' usare le importazioni di package?
Una storia di tre sistemi
18 Argomenti avanzati sui moduli
Nascondere i nomi all'interno dei moduli
Abilitare funzionalita' future del linguaggio
Modi d'uso misto: __name__e__main__
Modificare il percorso di ricerca dei moduli
L'estensione import as
Concetti di progettazione dei moduli
Trappole d'uso dei moduli
Esercizi relativi alla Parte V
Parte VI Classi e programmazione orientata agli oggetti
19 OOP: il quadro generale
Perche' usare le classi ?
L'OOP da 10.000 metri
20 I fondamenti della codifica delle classi
Le classi generano oggetti istanza multipli
Le classi vengono specializzate per ereditarieta'
21 I dettagli della codifica delle classi
L'istruzione class
Metodi
Ereditarieta'
Overloading degli operatori
Gli spazi dei nomi: la storia completa
22 La progettazione delle classi
Python e l'OOP
Le classi come record
L'OOP e l'ereditarieta': relazioni di tipo "e' un"
L'OOP e la composizione: relazioni di tipo "ha un"
L'OOP e la delegazione
Ereditarieta' multipla
Le classi sono oggetti: costruttori di classi generiche
I metodi sono oggetti: metodi legali o non legati
Le stringhe di documentazione rivisitate
Classi e moduli
23 Argomenti avanzati sulle classi
Estendere i tipi precostituiti
Attributi di classe pseudoprivati
Le classi di "nuovo stile" in Python 2.2
Trappole d'uso delle classi
Esercizi relativi alla Parte VI
Parte VII Eccezioni e strumenti di sviluppo
24 Le basi delle eccezioni
Perche' usare le eccezioni?
Gestione delle eccezioni: una storia semplice
L'istruzione try/except/else
L'istruzione try/finally
L'istruzione raise
L'istruzione assert
25 Le eccezioni come oggetti
Eccezioni basate su stringhe
Eccezioni basate su classi
Forme generali dell'istruzione raise
26 La progettazione delle eccezioni
Annidare i gestori d'eccezione
Costrutti per le eccezioni
Consigli sulla progettazione delle eccezioni
Trappole d'uso delle eccezioni
Riassunto del linguaggio base
Esercizi relativi alla Parte VII
Parte VIII Gli strati esterni del linguaggio
27 Compiti comuni in Python
Conversioni, numeri e confronti
Manipolazione delle stringhe
Manipolazione di strutture dati
Manipolazione di file e directory
Moduli riguardanti Internet
Esecuzione dei programmi
Debugging, testing, timing e profiling
Esercizi relativi al Capitolo 27
28 Framework
Un sistema automatizzato per il supporto
Interfacciamento tramite COM: pubbliche relazioni a basso costo
Un editor grafico basato su Tkinter per la gestione di dati della form
Jython: la felice unione tra Python e Java
Esercizi relativi al Capitolo 28
29 Risorse Python
Gli strati della comunita'
Il processo
Servizi e prodotti
Il quadro legale: la Python Software Foundation
Software
Software di terze parti
Framework per applicazioni web
Strumenti di sviluppo per Python
Parte IX Appendici
A Installazione e configurazione
B Soluzioni degli esercizi
Indice analitico |