Python è un linguaggio di programmazione orientato agli oggetti, di grande versatilità e molto utilizzato per lo sviluppo di applicazioni in ambito professionale. È, inoltre, uno strumento valido e flessibile per apprendere i fondamenti della programmazione, grazie alla sintassi semplice, alla semantica sempre verificabile e alla scalabilità. Il volume, molto apprezzato nelle precedenti edizioni, analizza gli aspetti principali della programmazione ponendo enfasi sul problem solving. Gli argomenti sono affrontati in maniera graduale e molto accurata: partendo dalla definizione di algoritmo, si illustra come progettare con le funzioni e con le classi, le strategie di programmazione (top-down) sino a giungere alle interfacce grafiche (GUI) e alle applicazioni di rete. I concetti teorici vengono applicati e sviluppati in programmi completi al fine di verificare il loro supporto nella risoluzione di problemi. La trattazione è completata da numerosi esempi e schemi esplicativi ed evidenzia l'importanza di acquisire abitudini di buona scrittura e buona documentazione. La nuova edizione è stata ampliata, con due nuovi capitoli dedicati, rispettivamente, alla programmazione ricorsiva e all'analisi dei dati e alla loro visualizzazione, e con nuovi paragrafi che illustrano la programmazione robusta. Esercitazioni e progetti di programmazione sono stati aggiornati e nuovi esercizi introducono il debugging.