30
Ein Buch zum Mitmachen und Verstehen von Kopf bis Fuß Paul Barry Deutsche Übersetzung von Lars Schulten O REILLY Python Teilen Sie auf PyPI Ihren Code mit dem Rest der Welt Laden Sie sich die wesentlichen Programmierkonzepte direkt ins Hirn Modellieren Sie Daten in Listen, Sets und Dictionaries Bandeln Sie mit JSON, Android und der App Engine an So bleiben Ihre Daten haltbar Bringen Sie Ihre App ins Web

von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

  • Upload
    vuhuong

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Ein Buch zum Mitmachen und Verstehen

von Kopf bis Fuß

Paul Barry Deutsche Übersetzung von Lars SchultenO’REILLY

Python

Teilen Sie auf PyPI Ihren Code mit dem

Rest der Welt

Laden Sie sich die wesentlichen

Programmierkonzepte direkt ins Hirn

Modellieren Sie Daten in Listen, Sets und Dictionaries

Bandeln Sie mit JSON, Android und der App Engine anSo bleiben

Ihre Daten haltbar

Bringen Sie Ihre App ins Web

Page 2: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene Fehler und deren Folgen. Das heißt, wenn Sie beispielsweise ein Kernkraftwerk unter Verwendung dieses Buchs betreiben möchten, tun Sie das auf eigene Gefahr.

Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Der Verlag richtet sich im Wesentlichen nach den Schreibweisen der Hersteller. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfi lmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Kommentare und Fragen können Sie gerne an uns richten:O’Reilly VerlagBalthasarstr. 8150670 KölnTel.: 0221/9731600Fax: 0221/9731608E-Mail: [email protected]

Copyright der deutschen Ausgabe:© 2011 by O’Reilly Verlag GmbH & Co. KG1. Aufl age 2011

Die Originalausgabe erschien 2010 unter dem TitelHead First Python bei O’Reilly Media, Inc.

Bei der Erstellung dieses Buchs wurden keine Leichtathleten über Gebühr malträtiert.

Bibliografi sche Information Der Deutschen NationalbibliothekDie Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografi e; detaillierte bibliografi sche Daten sind im Internet über http://dnb.d-nb.de abrufbar.

Übersetzung und deutsche Bearbeitung: Lars Schulten, Köln Lektorat: Christine Haite, KölnKorrektorat: Tanja Feder, Bonn & Eike Nitz, KölnSatz: Ulrich Borstelmann, Dortmund Umschlaggestaltung: Karen Montgomery, Boston & Michael Oreal, KölnProduktion: Andrea Miß, KölnBelichtung, Druck und buchbinderische Verarbeitung: Media-Print, Paderborn

ISBN 978-3-89721-318-0

Dieses Buch ist auf 100% chlorfrei gebleichtem Papier gedruckt.

DeirdreDeirdre

Joseph

Aaron

Aideen

Page 3: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Ich widme dieses Buch den großzügigen Menschen in der Python-Gemeinschaft, die daran mitgewirkt haben, diese wunderbare kleine Sprache zu einer erstklassigen Programmiertechnologie zu machen.

Und denen, die Python und seine Technologien immerhin so komplex gemacht haben, dass ein Buch beim Erlernen eine Hilfe sein kann.

Page 4: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Autor

Der Autor von »Python von Kopf bis Fuß«

Paul Barry hat vor kurzem festgestellt, dass er seit bei-nahe einem Vierteljahrhundert programmiert. Was ihn nicht wenig schockierte. In diesem Zeitraum hat er mit vielen ver-schiedenen Programmiersprachen gearbeitet, in zwei Län dern auf zwei Kontinenten gelebt und gewirkt, geheiratet, drei Kinder bekommen (okay, bekommen hat sie eigentlich seine Frau Deirdre, aber irgendwie hat er ja auch seinen Teil geleistet), einen B.Sc. und einen M.Sc. in Computing erworben, neben zwei weiteren Büchern einen Haufen technischer Artikel für das Linux Journal geschrieben und es irgendwie geschafft, seine Haare nicht zu verlieren ... was sich leider bald ändern könnte.

Als er das erste Mal einen Blick auf HTML mit CSS & XHTML von Kopf bis Fuß warf, gefiel es ihm so gut, dass er sofort erkann-te, dass der »Von Kopf bis Fuß«-Ansatz genau das Richtige wäre, um Programmieren zu lehren. Er war nur zu erfreut, als er gemeinsam mit David Griffiths Programmieren von Kopf bis Fuß schreiben konnte, um zu beweisen, dass diese Ahnung richtig war.

Normalerweise arbeitet Paul als Lehrer am Institute of Technology in Carlow, Irland. Als Mitglied der Abteilung für Computing & Networking verbringt er seine Tage damit, coole Programmiertechnologien (unter anderem auch Python) zu erforschen und zu lehren.

Paul hat kürzlich ein Zertifikat im Bereich Lernen und Lehren abgelegt und durfte dabei äußerst erleichtert feststellen, dass das meiste, was er tut, den anerkannten Lehrstandards entspricht.

Paul

Page 5: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Über den Übersetzer dieses Buchs

Lars Schulten ist freier Übersetzer für IT-Fachliteratur und hat für den O’Reilly Verlag schon unzählige Bücher zu ungefähr allem übersetzt, was man mit Computern so anstellen kann. Eigentlich hat er mal Philosophie studiert, aber mit Computern schlägt er sich schon seit den Zeiten herum, da Windows laufen lernte. Die Liste der Dinge, mit denen er sich beschäftigt, ist ungefähr so lang, launenhaft und heterogen wie die seiner Lieblingsessen und Lieblingsbücher.

Allein tritt er eigentlich nur auf, wenn er mal wieder versucht, den körperlichen Verfall mit sport-licher Betätigung aufzuhalten. Sonst ist er immer in Begleitung eines Buchs, seines Laptops oder Frederics unterwegs. Frederic ist sechs Jahre alt und setzt gern eine sehr kritische Miene auf, wenn Papa die Spielerei mit dem Computer als Arbeit bezeichnet.

Page 6: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Verwandte Bücher von O’Reilly

Einführung in Python

Programmieren mit Python

Python Cookbook

Weitere Bücher aus O’Reillys Von Kopf bis Fuß-Reihe

Programmieren von Kopf bis Fuß

JavaTM von Kopf bis Fuß

Objektorientierte Analyse und Design (OOA&D) von Kopf bis Fuß

Softwareentwicklung von Kopf bis Fuß

Entwurfsmuster von Kopf bis Fuß

Servlets und JSP von Kopf bis Fuß

C# von Kopf bis Fuß

SQL von Kopf bis Fuß

PHP & MySQL von Kopf bis Fuß

HTML mit CSS und XHTML von Kopf bis Fuß

JavaScript von Kopf bis Fuß

Datenanalyse von Kopf bis Fuß

Statistik von Kopf bis Fuß

Head First Algebra

Head First Physics

Head First Ajax

Head First Rails

Webdesign von Kopf bis Fuß

Head First PMP

Head First EJB

Page 7: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

vii

Der Inhalt (im Überblick)

Der Inhalt (jetzt ausführlich)

Ihr Gehirn und Programmieren. Sie versuchen, etwas zu lernen, und

Ihr Hirn tut sein Bestes, damit das Gelernte nicht hängen bleibt. Es denkt nämlich: »Wir

sollten lieber ordentlich Platz für wichtigere Dinge lassen, z.B. für das Wissen darüber,

welche Tiere einem gefährlich werden könnten, oder dass es eine ganz schlechte Idee

ist, nackt Snowboard zu fahren.« Tja, wie schaffen wir es nun, Ihr Gehirn davon zu

überzeugen, dass Ihr Leben davon abhängt, etwas über Python zu wissen?

Einführung

Für wen ist dieses Buch? xxii

Wir wissen, was Sie gerade denken xxiii

Metakognition xxv

So machen Sie sich Ihr Gehirn untertan xxvii

Lies mich xxviii

Die technischen Gutachter xxx

Danksagungen xxxi

Einführung xxi

1 Dürfen wir vorstellen: Python! Alle lieben Listen 1

2 Code teilen: Module mit Funktionen 33

3 Dateien und Ausnahmen: Fehlerbewältigung 73

4 Persistenz: Daten in Dateien speichern 105

5 Daten verstehen: Daten verarbeiten 139

6 Eigene Datenobjekte: Code und Daten bündeln 173

7 Webentwicklung: Die Teile zusammenfügen 213

8 Mobile Apps: Kleine Geräte 255

9 Daten im Griff: Eingaben verarbeiten 293

10 Größere Dimensionen: Ins Leben treten 351

11 Komplexität bewältigen: Daten strukturieren 397

Anhang Was übrig bleibt: Die Top-Ten der Dinge, die wir nicht behandelt haben 435

Index 447

Page 8: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

viii

Was ist so toll an Python? 2

Python 3 installieren 3

Mit IDLE leichter Python lernen 4

Effektiv mit IDLE arbeiten 5

Mit komplexen Daten arbeiten 6

Einfache Python-Listen erstellen 7

Listen sind wie Arrays 9

Der Liste weitere Daten hinzufügen 11

Mit Listendaten arbeiten 15

for-Schleifen arbeiten mit Listen jeder Größe 16

Listen in Listen speichern 18

Eine Liste auf Listen prüfen 20

Die Verarbeitung komplexer Daten ist kompliziert 23

Mehrere Einbettungsstufen bewältigen 24

Funktionen statt Codewiederholung 28

In Python eine Funktion erstellen 29

Rekursion als Retter! 31

Ihr Python-Werkzeugkasten 32

Alle lieben Listen1Dürfen wir vorstellen: Python!

Sie wollen wissen, was an Python so besonders sein soll? Die kurze Antwort ist: Vieles. Die lange Antwort beginnt mit der Feststellung, dass es auch

Vieles gibt, das Ihnen vertraut sein sollte. Python hat viele Gemeinsamkeiten mit all den

anderen Allzweck-Programmiersprachen, z.B. Anweisungen, Ausdrücke, Operatoren,

Funktionen, Module, Methoden und Klassen. Eigentlich all den üblichen Kram. Aber dann

gibt es eben auch viele zusätzliche Möglichkeiten, mit denen Python dem Programmierer das

Leben erleichtert – also Ihnen. Sie werden Ihre Python-Reise mit Listen beginnen. Aber bevor

wir uns diesen zuwenden, müssen wir uns einer anderen wichtigen Frage stellen …

Die Ritter der Kokosnuss, 1975, Terry Jones & Terry Gilliam, 91 Min.

Graham Chapman

Michael Palin, John Cleese, Terry Gilliam, Eric Idle & Terry Jones

Page 9: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

ix

Module mit FunktionenWiederverwendbarer Code ist gut, teilbare Module sind besser. Wenn Sie Ihren Code als Python-Modul verteilen, öffnen Sie ihn für die gesamte

Python-Gemeinschaft … und Teilen ist doch immer gut, oder? In diesem Kapitel werden

Sie lernen, wie Sie eigene Module erstellen, installieren und verteilen. Dann laden Sie

Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit

profitieren können. Unterwegs werden Sie außerdem ein paar neue Tricks zu Pythons

Funktionen aufschnappen.

Code teilen

2Zu gut, um es für sich zu behalten 34

Die Funktion in ein Modul umwandeln 35

Module sind überall 36

Ihren Code kommentieren 37

Das Paket vorbereiten 40

Ihr Paket erstellen 41

Ein kurzer Überblick über Ihr Paket 42

Ein Modul zur Verwendung importieren 43

Pythons Module implementieren Namensräume 45

Für die PyPI-Website registrieren 47

Ihren Code auf PyPI hochladen 48

Willkommen in der PyPI-Gemeinschaft 49

Verhalten mit einem weiteren Argument steuern 52

Bevor Sie neuen Code schreiben, sollten Sie BIF denken 53

Python gibt sein Bestes, um Ihren Code auszuführen 57

Ihren Code nachverfolgen 58

Herausfinden, was falsch ist 59

Den neuen Code auf PyPI hochladen 60

Sie haben Ihre API geändert 62

Optionale Argumente 63

Ihr Modul unterstützt beide APIs 65

Ihre API passt immer noch nicht 66

Der Ruf Ihres Moduls ist wiederhergestellt 70

Ihr Python-Werkzeugkasten 71

schachtler

schachtler.py

setup.py

Page 10: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

x

Daten kommen von draußen her 74

Es sind bloß Textzeilen 75

Ein genauer Blick auf die Daten 77

Machen Sie sich mit Ihren Daten vertraut 79

Machen Sie sich mit Ihren Methoden vertaut 80

Machen Sie sich (besser) mit Ihren Daten vertraut 82

Zwei sehr unterschiedliche Verfahren 83

Zusätzliche Logik ergänzen 84

Ausnahmen verarbeiten 88

Erst probieren, dann erholen 89

Den zu schützenden Code identifizieren 91

Bei Fehlern passen 93

Was ist mit anderen Fehlern? 96

Mehr Code zur Fehlerprüfung … 97

… oder eine weitere Ausnahmebehandlungsstufe einführen 98

Und welches Verfahren ist jetzt besser? 99

Sie sind fertig … von einer kleinen Sache abgesehen 101

Machen Sie Ihre Ausnahmen wählerisch 102

Ihr Python-Werkzeugkasten 103

Fehlerbewältigung3Dateien und Ausnahmen

Es ist einfach nicht genug, Listendaten im Code zu verarbeiten. Sie müssen Daten auch problemlos in Ihre Programme bringen. Sicher ist es keine Über-

raschung für Sie, dass Python das Lesen von Daten aus Dateien zu einem Kinderspiel

macht. Das ist auch gut so. Bedenken Sie aber auch was alles schieflaufen kann, wenn Sie

mit Daten arbeiten, die nicht unter der Kontrolle Ihres Programms stehen … Hier gibt es viele

Stolpersteine, insofern sind bestimmte Strategien zur Problembehandlung erforderlich! Eine

davon ist die Bewältigung außergewöhnlicher Situationen mit Pythons Mechanismen zur

Ausnahmebehandlung, die in diesem Kapitel vorgestellt werden.

split(bohnen)

Page 11: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xi

Daten in Dateien speichernEs ist wunderbar, wenn man dateibasierte Daten verarbeiten kann. Aber was passiert mit Ihren Daten, wenn Sie fertig sind? Natürlich ist es am besten,

Sie speichern Ihre Daten in einer Datei auf der Festplatte und verschaffen sich damit

die Möglichkeit, sie später wieder nutzen zu können. Dass Sie Ihre im Speicher

befindlichen Daten nehmen und auf der Festplatte speichern, ist das, worum es bei

Persistenz geht. Python unterstützt die üblichen Werkzeuge zum Schreiben von

Dateien und bietet einige coole Einrichtungen zur effizienten Speicherung von Python-

Daten. Blättern Sie um und beginnen wir, uns mit Ihnen vertraut zu machen.

Persistenz

4

Programme generieren Daten 106

Eine Datei im Schreibmodus öffnen 110

Nach einer Ausnahme bleiben Dateien offen! 114

try mit finally erweitern 115

Den Typ des Fehlers zu kennen, reicht nicht 117

Nutzen Sie with, um mit Dateien zu arbeiten 120

Standardformate sind für Dateien ungeeignet 124

Warum modifizieren wir nicht print_lvl()? 126

Daten konservieren 132

Mit dump speichern und mit load wiederherstellen 133

Allgemeine Datei-Ein-/Ausgabe ist das geeignetere Verfahren! 137

Ihr Python-Werkzeugkasten 138

['Is this the right room for an argument?', "No you haven't!", 'When?', "No you didn't!", "You didn't!", 'You did not!', 'Ah! (taking out his wallet and paying) Just the five minutes.', 'You most certainly did not!', "Oh no you didn't!", "Oh no you didn't!", "Oh look, this isn't an argument!", "No it isn't!", "It's just contradiction!", 'It IS!', 'You just contradicted me!', 'You DID!', 'You did just then!', '(exasperated) Oh, this is futile!!', 'Yes it is!']

[‘Is this the right room for an argument?’, “No you haven’t!”, ‘When?’, “No you didn’t!”, “You didn’t!”, ‘You did not!’, ‘Ah! (taking out his wallet and paying) Just the five minutes.’, ‘You most certainly did not!’, “Oh no you didn’t!”, “Oh no you didn’t!”, “Oh look, this isn’t an argument!”, “No it isn’t!”, “It’s just contradiction!”, ‘It IS!’, ‘You just contradicted me!’, ‘You DID!’, ‘You did just then!’, ‘(exasperated) Oh, this is futile!!’, ‘Yes it is!’]

Page 12: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xii

Trainer Tim braucht Ihre Hilfe 140

Eines von zwei Sortierverfahren wählen 144

Das Problem mit der Zeit 148

Listen verstehen 155

Iteration zur Entfernung von Duplikaten 161

Duplikatfrei mit Sets 166

Ihr Python-Werkzeugkasten 172

Daten verarbeiten5Daten verstehen

Daten gibt es in den unterschiedlichsten Formen und Größen, Formaten und Kodierungen. Wollen Sie effektiv mit Ihren Daten arbeiten, müssen Sie sie häufig manipulieren und

in ein allgemeines Format überführen, das eine effektive Verarbeitung, Sortierung und

Speicherung erst möglich macht. In diesem Kapitel werden wir uns unterschiedliche

Python-Werkzeuge ansehen, die Ihnen helfen, Ihre Daten so richtig auf Trab zu halten,

und Sie zu einem Meister der Datenverarbeitung machen. Was warten Sie noch?

Blättern Sie um und lassen Sie Ihren Trainer nicht warten …

Dieses Kapitel wird Sie bestimmt fit

machen!

Page 13: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xiii

Code und Daten bündelnDie gewählte Datenstruktur sollte Ihren Daten entsprechen. Und diese Wahl kann erhebliche Auswirkungen auf Ihren Code haben. Listen und Sets,

so nützlich sie auch sein mögen, sind nicht das Einzige, was Python zu bieten hat. In

Pythons Dictionaries können Sie Ihre Daten für den schnellen Zugriff optimieren, indem

Sie statt Zahlen Namen mit Ihren Daten verknüpfen. Und wenn Pythons eingebaute

Datenstrukturen es nicht bringen, können Sie mit Pythons class-Anweisung Ihre

eigenen definieren. Dieses Kapitel zeigt Ihnen, wie das geht.

Eigene Datenobjekte

6Trainer Tim ist wieder da (mit einem neuen Dateiformat) 174

Mit einem Dictionary Daten verknüpfen 178

Bündeln Sie Code und Daten in einer Klasse 189

Eine Klasse definieren 190

Mit class Klassen definieren 191

Die Bedeutung von self 192

Das erste Argument jeder Methode ist self 193

Von Pythons eingebauten Listen erben 204

Trainer Tim ist beeindruckt 211

Ihr Python-Werkzeugkasten 212

Die Objekt- fabrik

Page 14: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xiv

7

Teilen ist gut 214

Sie können Ihr Programm ins Web bringen 215

Was muss Ihre Webapp tun? 218

Webapps mit MVC entwerfen 221

Die Daten modellieren 222

Die Schnittstelle entwerfen 226

Den Code strukturieren 234

Auf dem Webserver Programme ausführen 235

Die Sportlerliste anzeigen 236

Das schreckliche 404! 242

Ein weiteres CGI-Skript generieren 244

Zur Fehleridentifikation CGI-Tracking aktivieren 248

Eine kleine Änderung macht den Unterschied aus 250

Ihre Webapp ist ein Volltreffer! 252

Ihr Python-Werkzeugkasten 253

Die Teile zusammenfügenWebentwicklung

Früher oder später werden Sie Ihre Anwendung mit anderen teilen wollen. Es gibt viele Möglichkeiten, das zu tun. Bringen Sie Ihren Code auf PyPI, senden Sie

Rundmails aus, packen Sie Ihren Code auf eine CD oder einen USB-Stick oder installieren

Sie Ihr Programm einfach von Hand auf den Rechnern der Leute, die es brauchen. Klingt

nach einer Menge Arbeit … und langweiliger noch dazu. Und was ist, wenn Sie eine neue,

bessere Version Ihres Codes geschaffen haben? Was passiert dann? Wie machen Sie

das mit der Aktualisierung? Sehen wir den Tatsachen ins Gesicht: Das ist derart mühselig,

dass Ihnen wahrscheinlich eine Menge Entschuldigungen einfallen, um sich davor zu

drücken. Zum Glück ist das nicht notwendig: Erstellen Sie einfach eine Webanwendung.

Und wie dieses Kapitel zeigen wird, ist die Webentwicklung mit Python ein Kinderspiel.

Page 15: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xv

8 Kleine GeräteDaten im Web bieten Ihnen die vielfältigsten Möglichkeiten. Es können nicht nur alle von überall her mit Ihrer Webapp interagieren, sie können das

auch noch mit den unterschiedlichsten Geräten tun: PCs, Laptops, Tablets und sogar

Handys. Und es sind nicht ausschließlich Menschen, die mit Ihrer Webapp interagieren:

Bots sind kleine Programme, die Webinteraktionen automatisieren und üblicherweise

nur Daten wollen, nicht das HTML, das der Mensch und sein Webbrowser benötigen.

In diesem Kapitel werden Sie Python auf dem Handy von Trainer Tim dafür verwenden,

um eine App zu schreiben, die mit den Daten Ihrer Webapp interagiert.

Mobile Apps

Die Welt wird kleiner 256

Trainer Tim nutzt Android 257

Machen Sie sich keine Gedanken über Python 2 259

Die Entwicklungsumgebung einrichten 260

SDK und Emulator konfigurieren 261

Android-Scripting installieren und konfigurieren 262

Python Ihrer SL4A-Installation hinzufügen 263

Python auf Android 264

Die Anforderungen Ihrer App definieren 266

Die SL4A Android-API 274

Unter Android aus einer Liste auswählen 278

Das CGI-Skript für die Sportlerdaten 281

Anscheinend haben sich die Daten geändert 284

JSON kann mit eigenen Datentypen nicht umgehen 285

Die App auf einem echten Gerät ausführen 288

AndFTP konfigurieren 289

Der Trainer ist von der Anwendung begeistert 290

Ihr Python-Werkzeugkasten 291

Page 16: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xvi

Ihre Laufzeiten-App – bekannt im ganzen Land 294

Mit einem Formular oder Dialog Daten annehmen 295

Eine Vorlage für ein HTML-Formular erstellen 296

Die Daten werden an Ihr CGI-Skript geliefert 300

Dateneingaben unter Android 304

Zeit, die Serverdaten zu aktualisieren 308

Konflikte vermeiden 309

Sie benötigen eine bessere Strategie zur Datenspeicherung 310

Nutzen Sie ein Datenbankmanagement-System 312

Python enthält SQLite 313

Pythons Datenbank-API nutzen 314

Die Datenbank-API als Python-Code 315

Etwas Datenbank-Design bringt eine Menge 316

Das Datenbankschema definieren 317

Wie sehen die Daten aus? 318

Die Daten aus dem Pickle in SQLite übertragen 321

Welcher Sportler erhält welche ID? 322

Die Zeitdaten einfügen 323

SQLite-Verwaltungswerkzeuge 326

SQLite in die Webapp integrieren 327

Sie brauchen immer noch die Liste mit den Namen 332

Sportler-Daten auf Basis der ID 333

Sie müssen auch die Android-App anpassen 342

Die SQLite-basierten Sportlerdaten aktualisieren 348

Der DJLV ist begeistert! 349

Ihr Python-Werkzeugkasten 350

Eingaben verarbeiten9Daten im Griff

Web und Handy sind nicht nur zur Datenanzeige geeignet. Beide sind auch ausgezeichnete Mittel, um Eingaben von Benutzern entgegenzunehmen. Natürlich

müssen Sie die Daten irgendwo unterbringen, nachdem Ihre Webapp sie erhalten hat. Und

worauf Ihre Wahl bei diesem »irgendwo« fällt, ist häufig dafür ausschlaggebend, ob eine Webapp

erweiterungsfähig ist oder nicht. In diesem Kapitel werden Sie Ihre Webapp so erweitern, dass sie

Daten aus dem Web akzeptiert (über einen Browser oder ein Android-Handy), und sich gleichzeitig

ansehen, wie man das Datenverwaltungssystem im Hintergrund verbessert.

Page 17: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xvii

Ins Leben tretenDas Web ist ein ausgezeichneter Ort für Ihre App … bis es ernst wird. Früher oder später werden Sie den Hauptgewinn ziehen und Ihre Webapp wird ein rasender Erfolg.

Wenn das passiert, wird Ihre Webapp am Tag nicht mehr ein paar Mal, sondern tausend, vielleicht

zehntausend Mal oder gar noch �fter besucht. Werden Sie dann bereit sein? Wird Ihr Webserver die

Last bewältigen? Wie bringen Sie das in Erfahrung? Was wird es kosten? Wer wird es zahlen? Kann

Ihr Datenmodell Abermillionen von Datenelementen verkraften, ohne dabei ins Schneckentempo zu

fallen? Eine Webapp einzurichten und in Gang zu bringen, ist mit Python ein Kinderspiel, und heute,

dank der Google App Engine, kann man mit Python auch größeren Anforderungen gewachsen sein.

Blättern Sie um und finden Sie heraus wie.

Größere Dimensionen

10Walsichtungen überall 352

Die VKBFWW muss automatisieren 353

Ihre Webapp mit der Google App Engine aufbauen 354

Die App Engine installieren 355

Sicherstellen, dass die App Engine funktioniert 356

Die App Engine nutzt das MVC-Muster 359

Die Daten mit der App Engine modellieren 360

Ohne View bringt ein Modell wenig 363

Vorlagen in der App Engine verwenden 364

Djangos Formularvalidierungs-Framework 368

Ihr Formular prüfen 369

Die App Engine-Webapp steuern 370

Eingaben mit Optionen beschränken 376

Der »leere Bildschirm des Todes« 378

Die POST-Daten in der Webapp verarbeiten 379

Die Daten in den Datenspeicher stecken 380

Das »Robustheitsprinzip« nicht verletzen 384

Datum und Zeit in (fast) allen Formen akzeptieren 385

Anscheinend sind Sie noch nicht fertig 388

Manchmal macht eine winzige Änderung einen gewaltigen Unterschied ... 389

Die Google ID des Benutzers speichern 390

Die Webapp in die Cloud bringen 391

Die VKBFWW-Webapp ist aktiv! 394

Ihr Python-Werkzeugkasten 395

Page 18: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xviii

Welche Zeit ist für das nächste Rennen anzuvisieren? 398

Und was ist das Problem? 400

Beginnen wir mit den neuen Daten 401

Die einzelnen Zeiten als Dictionary speichern 407

Den Vorhersagecode analysieren 409

Benutzereingaben entgegennehmen 413

Eingaben führen zu Problemen ... 414

Nach dem besten Treffer suchen 416

Das Problem ist die Zeit 418

Das Zeit-zu-Sekunden-zu-Zeit-Modul 419

Die Zeit bleibt das Problem ... 422

Auf Android portieren 424

Ihre Android-App ist eine Dialogsammlung 425

Die App zusammensetzen ... 429

Ihre App ist ein Geschenk! 431

Ihr Python-Werkzeugkasten 432

Daten strukturieren11Komplexität bewältigen

Mit Python über bestimmte Problembereiche hinauswachsen. Ob es nun die Webentwicklung ist, das Datenbankmanagement oder mobile Apps, Python hilft

Ihnen, die Arbeit zu erledigen, indem es Ihrer Programmierlösung nicht in die Quere kommt.

Und dann gibt es andere Arten von Problemen: die, die nicht in einen bestimmten Bereich fallen.

Probleme, die selbst so speziell sind, dass Sie sie auf eine ganz andere, eben ganz spezielle

Weise betrachten müssen. Maßgeschneiderte Softwarelösungen für derartige Probleme sind

Pythons Paradedisziplin. Deswegen werden Sie in diesem letzten Kapitel Ihre Python-Fertigkei-

ten bis zum Äußersten strecken müssen, um die anstehenden Probleme zu lösen.

Page 19: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Der Inhalt

xix

Die Top-Ten der Dinge, die wir nicht behandelt habenSie haben es weit gebracht.

Aber das Lernen von Python ist eine Beschäftigung, die nie endet. Je mehr Python-

Code Sie schreiben, desto mehr neue Möglichkeiten lernen Sie kennen, bestimmte

Dinge zu tun. Auch in neue Werkzeuge und Techniken werden Sie sich einarbeiten

müssen. Leider bietet ein Buch einfach nicht genug Platz, um alles aufzunehmen, was

Sie eventuell über Python wissen müssen. Deswegen finden Sie hier eine Liste der

zehn wichtigsten Dinge, die wir nicht behandelt haben, die Sie sich vielleicht aber als

Nächstes ansehen sollten.

Was übrig bleibt

i1. Eine »professionelle« IDE nutzen 436

2. Geltungsbereiche 437

3. Testen 438

4. Fortgeschrittene Spracheigenschaften 439

5. Reguläre Ausdrücke 440

6. Mehr zu Webframeworks 441

7. Objektrelationale Mapper und NoSQL 442

8. GUI-Programmierung 443

9. Was Sie vermeiden sollten 444

10. Andere Bücher 445

Page 20: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem
Page 21: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

xxi

Wie man dieses Buch benutzt

EinführungIch kann einfach nicht

fassen, dass so etwas in einem Python-Buch steht!

In diesem Abschnitt beantworten wir die brennende Frage:

»Und? Warum STEHT so was in einem Python-Buch?«

Ist dieses Buch etwas für Sie?Dieses Buch ist etwas für jeden, der das Geld dafür hat. Und ein wunderbares Geschenk für einen ganz besonderen Menschen.

Page 22: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

xxii Einführung

Gebrauchsanleitung für dieses Buch

Für wen ist dieses Buch?

Wer sollte eher die Finger von diesem Buch lassen?

Wenn Sie alle folgenden Fragen mit »Ja« beantworten können, ...

Wenn Sie eine dieser Fragen mit »Ja« beantworten müssen, ...

... dann ist dieses Buch etwas für Sie.

... dann ist dieses Buch nicht das richtige für Sie.

[Anmerkung aus dem Marketing: Dieses Buch ist etwas für jeden, der eine Kreditkarte besitzt. Auch Barzahlung ist möglich.]

Ziehen Sie es vor, tatsächlich etwas zu tun? Die Dinge anzuwenden, die Sie gelernt haben? Ist das besser, als stundenlang jemandem zuzuhören, der sich in einem endlosen Vortrag über irgendwas ergeht?

3

Möchten Sie gerne wissen, wie man in Python programmiert, es unter Ihre Werkzeuge einreihen und damit Neues machen?

2

Suchen Sie nach einer Python-Referenz, die alle Einzelheiten in größter Ausführlichkeit behandelt?

2

Beherrschen Sie bereits eine andere Programmiersprache?

1

Wissen Sie bereits bei den meisten Dingen, wie man sie mit Python erreicht?

1

Würden Sie sich lieber von 15 kreischenden Affen die Zehennägel ziehen lassen, als einmal etwas Neues auszuprobieren? Sind Sie der Ansicht, dass ein Buch zur Programmierung wirklich alles behandeln muss und richtig gut eigentlich nur sein kann, wenn es den Leser zu Tode langweilt?

3

Page 23: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Sie sind hier 4 xxiii

Die Einführung

»Wie kann das ein ernsthaftes Buch zu Python sein?«

»Was sollen all die Abbildungen?«

»Kann ich auf diese Weise wirklich etwas lernen?«

Ihr Gehirn lechzt nach Neuem. Es ist ständig dabei, Ihre Umgebung abzusuchen, und es wartet auf etwas Ungewöhnliches. So ist es nun einmal gebaut, und es hilft Ihnen zu überleben.

Also, was macht Ihr Gehirn mit all den gewöhnlichen, normalen Routinesachen, denen Sie begegnen? Es tut alles in seiner Macht Stehende, damit es dadurch nicht bei seiner eigentlichen Arbeit gestört wird: Dinge zu erfassen, die wirklich wichtig sind. Es gibt sich nicht damit ab, die langweiligen Sachen zu speichern, sondern lässt diese gar nicht erst durch den »Das-ist-offensichtlich-nicht-wichtig«-Filter.

Woher weiß Ihr Gehirn denn, was wichtig ist? Nehmen Sie an, Sie machen einen Tagesausflug und ein Tiger springt vor Ihnen aus dem Gebüsch: Was passiert dabei in Ihrem Kopf und Ihrem Körper?

Neuronen feuern. Gefühle werden angekurbelt. Chemische Substanzen durchfluten Sie.

Und so weiß Ihr Gehirn:

Das muss wichtig sein! Vergiss es nicht!

Aber nun stellen Sie sich vor, Sie sind zu Hause oder in einer Bibliothek. In einer sicheren, warmen, tigerfreien Zone. Sie lernen. Bereiten sich auf eine Prüfung vor. Oder Sie versuchen, sich in irgendein schwieriges Thema einzuarbeiten, von dem Ihr Chef glaubt, Sie bräuchten dafür eine Woche oder höchstens zehn Tage.

Es gibt nur ein Problem: Ihr Gehirn versucht Ihnen einen großen Gefallen zu tun. Es versucht dafür zu sorgen, dass diese offensichtlich unwichtigen Inhalte nicht knappe Ressourcen verstopfen. Ressour-cen, die besser dafür verwendet würden, die wirklich wichtigen Dinge zu speichern. Wie Tiger. Wie die Gefahren des Feuers. Die späte Einsicht, dass Sie nie diese »Partybilder« auf Ihre Facebook-Seite hätten stellen dürfen. Und es gibt keine einfache Möglichkeit, Ihrem Gehirn zu sagen: »Hey, Gehirn, vielen Dank, aber egal, wie langweilig dieses Buch auch ist und wie klein der Ausschlag auf meiner emotionalen Richterskala gerade ist, ich will wirklich, dass du diesen Kram behältst.«

Wir wissen, was Sie gerade denken.

Und wir wissen, was Ihr Gehirn gerade denkt.

Ihr Gehirn denkt, DAS HIER ist wichtig.

Ihr Gehirn denkt,

DAS HIER zu

speichern lohnt sich

nicht.

Na toll. Nur noch 450 trockene, lang-

weilige Seiten.

Page 24: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

xxiv Einführung

Gebrauchsanleitung für dieses Buch

xxiv Einführung

Gebrauchsanleitung für dieses Buch

Also, was ist nötig, damit Sie etwas lernen? Erst einmal müssen Sie es aufnehmen und

dann dafür sorgen, dass Sie es nicht wieder vergessen. Es geht nicht darum, Fakten in

Ihren Kopf zu schieben. Nach den neuesten Forschungsergebnissen der Kognitions-

wissenschaft, der Neurobiologie und der Lernpsychologie gehört zum Lernen viel mehr

als nur Text auf einer Seite. Wir wissen, was Ihr Gehirn anmacht.

Einige der Lernprinzipien dieser Buchreihe:

Bilder einsetzen. An Bilder kann man sich viel besser erinnern als an Worte allein und lernt so viel

eff ektiver (bis zu 89% Verbesserung bei Abrufbarkeits- und Lerntransferstudien). Außerdem werden die

Dinge dadurch verständlicher. Text in oder neben die Grafi ken setzen, auf die sie sich beziehen,

anstatt darunter oder auf eine andere Seite. Die Leser werden auf den Bildinhalt bezogene Probleme dann

mit doppelt so hoher Wahrscheinlichkeit lösen können.

Verwenden Sie einen gesprächsorientierten Stil mit persönlicher Ansprache. Nach

neueren Untersuchungen haben Studenten nach dem Lernen bei Tests bis zu 40% besser abgeschnitten,

wenn der Inhalt den Leser direkt in der ersten Person und im lockeren Stil angesprochen hat statt in einem

formalen Ton. Halten Sie keinen Vortrag, sondern erzählen Sie Geschichten. Benutzen Sie eine zwanglose

Sprache. Nehmen Sie sich selbst nicht zu ernst. Würden Sie einer anregenden Unterhaltung beim Abendes-

sen mehr Aufmerksamkeit schenken oder einem Vortrag?

Bringen Sie den Lernenden dazu, intensiver nachzudenken. Mit anderen Worten: Falls Sie

nicht aktiv Ihre Neuronen strapazieren, passiert in Ihrem Gehirn nicht viel. Ein Leser muss motiviert, begeis-

tert und neugierig sein und angeregt werden, Probleme zu lösen, Schlüsse zu ziehen und sich neues Wissen

anzueignen. Und dafür brauchen Sie Herausforderungen, Übungen, zum Nachdenken anregende Fragen

und Tätigkeiten, die beide Seiten des Gehirns und mehrere Sinne einbeziehen.

Ziehen Sie die Aufmerksamkeit des Lesers auf sich – und behalten Sie sie. Wir alle

haben schon Erfahrungen dieser Art gemacht: »Ich will das wirklich lernen, aber ich kann einfach nicht über

Seite 1 hinaus wach bleiben.« Ihr Gehirn passt auf, wenn Dinge ungewöhnlich, interessant, merkwürdig,

auff ällig, unerwartet sind. Ein neues, schwieriges, technisches Thema zu lernen, muss nicht langweilig sein.

Wenn es das nicht ist, lernt Ihr Gehirn viel schneller.

Sprechen Sie Gefühle an. Wir wissen, dass Ihre Fähigkeit, sich an etwas zu erinnern, wesentlich vom

emotionalen Gehalt abhängt. Sie erinnern sich an das, was Sie bewegt. Sie erinnern sich, wenn Sie etwas

fühlen. Nein, wir erzählen keine herzzerreißenden Geschichten über einen Jungen und seinen Hund. Was wir

erzählen, ruft Überraschungs-, Neugier-, Spaß- und Was-soll-das?-Emotionen hervor, und auch dieses Hoch-

gefühl, das Sie beim Lösen eines Puzzles empfi nden oder wenn Sie etwas lernen, was alle anderen schwierig

fi nden. Oder wenn Sie merken, dass Sie etwas können, was dieser »Ich-bin-ein-besserer-Techniker-als-du«-

Typ aus der Technikabteilung nicht kann.

Wir möchten, dass unsere Leser aktiv lernen.

Page 25: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Sie sind hier 4 xxv

Die Einführung

Metakognition: Nachdenken übers DenkenWenn Sie wirklich lernen möchten, und zwar schneller und nachhaltiger, dann schenken Sie Ihrer Aufmerksamkeit Aufmerksamkeit. Denken Sie darüber nach, wie Sie denken. Lernen Sie, wie Sie lernen.

Die meisten von uns haben in ihrer Jugend keine Kurse in Metakognition oder Lerntheorie gehabt. Es wurde von uns erwartet, dass wir lernen, aber nur selten wurde uns auch beigebracht, wie man lernt.

Wir nehmen aber an, dass Sie wirklich lernen möchten, wie man programmiert, wenn Sie dieses Buch in den Händen halten. Und wahrscheinlich möchten Sie nicht viel Zeit aufwenden. Und Sie wollen sich an das erinnern, was Sie lesen, und es anwenden können. Und deshalb müssen Sie es verstehen. Wenn Sie so viel wie möglich von diesem Buch profitieren wollen oder von irgend-einem anderen Buch oder einer anderen Lernerfahrung, übernehmen Sie Verant-wortung für Ihr Gehirn. Ihr Gehirn im Zusammenhang mit diesem Lernstoff.

Der Trick besteht darin, Ihr Gehirn dazu zu bringen, neuen Lernstoff als etwas wirklich Wichtiges anzusehen. Als entscheidend für Ihr Wohlbefinden. So wichtig wie ein Tiger. Andernfalls stecken Sie in einem dauernden Kampf, in dem Ihr Ge-hirn sein Bestes gibt, um die neuen Inhalte davon abzuhalten, hängen zu bleiben.

Wie bringen Sie also Ihr Gehirn dazu, das Programmieren für so wichtig zu halten wie einen Tiger?

Da gibt es den langsamen, ermüdenden Weg oder den schnelleren, effektiveren Weg. Der langsame Weg geht über bloße Wiederholung. Natürlich ist Ihnen klar, dass Sie lernen und sich sogar an die langweiligsten Themen erinnern können, wenn Sie sich die gleiche Sache immer wieder ein-hämmern. Wenn Sie nur oft genug wiederholen, sagt Ihr Gehirn: »Er hat zwar nicht das Gefühl, dass das wichtig ist, aber er sieht sich dieselbe Sache immer und immer wieder an – dann muss sie wohl wichtig sein.«

Der schnellere Weg besteht darin, alles zu tun, was die Gehirnaktivität erhöht, vor allem verschie-dene Arten von Gehirnaktivität. Eine wichtige Rolle dabei spielen die auf der vorigen Seite erwähnten Dinge – alles Dinge, die nachweislich dabei helfen, dass Ihr Gehirn für Sie arbeitet. So hat sich z.B. in Un-tersuchungen gezeigt: Wenn Wörter in den Abbildungen stehen, die sie beschreiben (und nicht irgendwo anders auf der Seite, z.B. in einer Bildunterschrift oder im Text), versucht Ihr Gehirn herauszufinden, wie die Wörter und das Bild zusammenhängen, und dadurch feuern mehr Neuronen. Und je mehr Neuronen feuern, desto größer ist die Chance, dass Ihr Gehirn mitbekommt: Bei dieser Sache lohnt es sich aufzupas-sen, und vielleicht auch, sich daran zu erinnern.

Ein lockerer Sprachstil hilft, denn Menschen tendieren zu höherer Aufmerksamkeit, wenn ihnen bewusst ist, dass sie ein Gespräch führen – man erwartet dann ja von ihnen, dass sie dem Gespräch folgen und sich beteiligen. Das Erstaunliche daran ist: Es ist Ihrem Gehirn ziemlich egal, dass die »Unterhaltung« zwischen Ihnen und einem Buch stattfindet! Wenn der Schreibstil dagegen formal und trocken ist, hat Ihr Gehirn den gleichen Eindruck wie bei einem Vortrag, bei dem in einem Raum passive Zuhörer sitzen. Nicht nötig, wach zu bleiben.

Aber Abbildungen und ein lockerer Sprachstil sind erst der Anfang.

Wie könnte ich mein Gehirn wohl dazu

kriegen, diesen Kram zu behalten ...

Page 26: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

xxvi Einführung

Gebrauchsanleitung für dieses Buch

Das haben WIR getan:Wir haben Bilder verwendet, weil Ihr Gehirn auf visuelle Eindrücke eingestellt ist, nicht auf Text. Soweit es Ihr Gehirn betrifft, sagt ein Bild wirklich mehr als 1.024 Worte. Und dort, wo Text und Abbildungen zusammen-wirken, haben wir den Text in die Bilder eingebettet, denn Ihr Gehirn arbeitet besser, wenn der Text innerhalb der Sache steht, auf die er sich bezieht, und nicht in einer Bildunterschrift oder irgendwo vergraben im Text.

Wir haben Redundanz eingesetzt, d.h. dasselbe auf unterschiedliche Art und mit verschiedenen Medientypen ausgedrückt, damit Sie es über mehrere Sinne aufnehmen. Das erhöht die Chance, dass die Inhalte an mehr als nur einer Stelle in Ihrem Gehirn verankert werden.

Wir haben Konzepte und Bilder in unerwarteter Weise eingesetzt, weil Ihr Gehirn auf Neuigkeiten pro-grammiert ist. Und wir haben Bilder und Ideen mit zumindest etwas emotionalem Charakter verwendet, weil Ihr Gehirn darauf eingestellt ist, auf die Biochemie von Gefühlen zu achten. An alles, was ein Gefühl in Ihnen auslöst, können Sie sich mit höherer Wahrscheinlichkeit erinnern, selbst wenn dieses Gefühl nicht mehr ist als ein bisschen Belustigung, Überraschung oder Interesse.

Wir haben einen umgangssprachlichen Stil mit direkter Anrede benutzt, denn Ihr Gehirn ist von Natur aus aufmerksamer, wenn es Sie in einer Unterhaltung wähnt, als wenn es davon ausgeht, dass Sie passiv einer Präsentation zuhören – sogar dann, wenn Sie lesen.

Wir haben mehr als 80 Aktivitäten für Sie vorgesehen, denn Ihr Gehirn lernt und behält von Natur aus besser, wenn Sie Dinge tun, als wenn Sie nur darüber lesen. Und wir haben die Übungen zwar anspruchsvoll, aber doch lösbar gemacht, denn so ist es den meisten Lesern am liebsten.

Wir haben mehrere unterschiedliche Lernstile eingesetzt, denn vielleicht bevorzugen Sie ein Schritt-für-Schritt-Vorgehen, während jemand anders erst einmal den groben Zusammenhang verstehen und ein Dritter einfach nur ein Codebeispiel sehen möchte. Aber ganz abgesehen von den jeweiligen Lernvorlieben profitiert jeder davon, wenn er die gleichen Inhalte in unterschiedlicher Form präsentiert bekommt.

Wir liefern Inhalte für beide Seiten Ihres Gehirns, denn je mehr Sie von Ihrem Gehirn einsetzen, desto wahrscheinlicher werden Sie lernen und behalten und desto länger bleiben Sie konzen triert. Wenn Sie mit einer Seite des Gehirns arbeiten, bedeutet das häufig, dass sich die andere Seite des Gehirns ausruhen kann; so kön-nen Sie über einen längeren Zeitraum produktiver lernen.

Und wir haben Geschichten und Übungen aufgenommen, die mehr als einen Blickwinkel repräsen­tieren, denn Ihr Gehirn lernt von Natur aus intensiver, wenn es gezwungen ist, selbst zu analysieren und zu beurteilen.

Wir haben Herausforderungen eingefügt: in Form von Übungen und indem wir Fragen stellen, auf die es nicht immer eine eindeutige Antwort gibt, denn Ihr Gehirn ist darauf eingestellt, zu lernen und sich zu erin-nern, wenn es an etwas arbeiten muss. Überlegen Sie: Ihren Körper bekommen Sie ja auch nicht in Form, wenn Sie nur die Leute auf dem Sportplatz beobachten. Aber wir haben unser Bestes getan, um dafür zu sorgen, dass Sie – wenn Sie schon hart arbeiten – an den richtigen Dingen arbeiten. Dass Sie nicht einen einzigen Den­driten darauf verschwenden, ein schwer verständliches Beispiel zu verarbeiten oder einen schwierigen, mit Fachbegriffen gespickten oder übermäßig gedrängten Text zu analysieren.

Wir haben Menschen eingesetzt. In Geschichten, Beispielen, Bildern usw. – denn Sie sind ein Mensch. Und Ihr Gehirn schenkt Menschen mehr Aufmerksamkeit als Sachen.

Page 27: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Sie sind hier 4 xxvii

Die Einführung

So, wir haben unseren Teil der Arbeit geleistet. Der Rest liegt bei Ihnen. Diese Tipps sind ein Anfang; hören Sie auf Ihr Gehirn und finden Sie heraus, was bei Ihnen funktioniert und was nicht. Probieren Sie neue Wege aus.

6 Reden Sie drüber. Laut.Sprechen aktiviert einen anderen Teil des Gehirns. Wenn Sie etwas verstehen wollen oder Ihre Chancen verbessern wollen, sich später daran zu erinnern, sagen Sie es laut. Noch besser: Versuchen Sie es jemand anderem laut zu erklären. Sie lernen dann schneller und haben vielleicht Ideen, auf die Sie beim bloßen Lesen nie gekommen wären.

9 Schreiben Sie viel Code!Programmieren lernt man nur auf eine Weise: in-dem man viel programmiert! Und das werden Sie in diesem Buch machen. Programmieren ist ein Handwerk. Gut wird man nur durch Übung, und die erhalten Sie hier: Jedes Kapitel enthält eine Menge Übungen, die Sie lösen müssen. Übersprin-gen Sie diese nicht – das Lernen erfolgt zu großen Teilen beim Lösen der Übungen. Zu jeder Übung gibt es eine Lösung – werfen Sie ruhig einen Blick darauf, wenn Sie hängen bleiben! Aber versuchen Sie das Problem zu lösen, bevor Sie sich die Lösung ansehen. Auf alle Fälle sollten Sie die Sache ans Laufen bringen, bevor Sie im Buch weitergehen.

8 Aber bitte mit Gefühl!Ihr Gehirn muss wissen, dass es um etwas Wichtiges geht. Lassen Sie sich in die Geschichten hineinziehen. Erfinden Sie eigene Bildunterschriften für die Fotos. Über einen schlechten Scherz zu stöhnen ist immer noch besser, als gar nichts zu fühlen.

7 Hören Sie auf Ihr Gehirn.Achten Sie darauf, Ihr Gehirn nicht zu überladen. Wenn Sie merken, dass Sie etwas nur noch überflie-gen oder dass Sie das gerade erst Gelesene vergessen haben, ist es Zeit für eine Pause. Ab einem bestimm-ten Punkt lernen Sie nicht mehr schneller, indem Sie mehr hineinzustopfen versuchen; das kann sogar den Lernprozess stören.

5 Trinken Sie Wasser. Viel.Ihr Gehirn arbeitet am besten in einem schönen Flüs-sigkeitsbad. Austrocknung (zu der es schon kommen kann, bevor Sie überhaupt Durst verspüren) beein-trächtigt die kognitive Funktion.

4 Lesen Sie dieses Buch als Letztes vor dem Schlafengehen. Oder lesen Sie danach zumin-dest nichts Anspruchsvolles mehr.Ein Teil des Lernprozesses (vor allem die Übertragung in das Langzeitgedächtnis) findet erst statt, nachdem Sie das Buch zur Seite gelegt haben. Ihr Gehirn braucht Zeit für sich, um weitere Verarbeitung zu leisten. Wenn Sie in dieser Zeit etwas Neues aufnehmen, geht ein Teil dessen, was Sie gerade gelernt haben, verloren.

3 Lesen Sie die Abschnitte »Es gibt keine dummen Fragen«.Und zwar alle. Das sind keine Zusatzanmerkungen – sie gehören zum Kerninhalt! Überspringen Sie sie nicht.

Schneiden Sie das aus und heften Sie es an Ihren Kühlschrank.

Und das können SIE tun, um sich Ihr Gehirn Untertan zu machen

2 Bearbeiten Sie die Übungen. Machen Sie selbst Notizen.Wir haben sie entworfen, aber wenn wir sie auch für Sie lösen würden, wäre das, als ob jemand anderes Ihr Training für Sie absolviert. Und sehen Sie sich die Übungen nicht einfach nur an. Benutzen Sie einen Bleistift. Es deutet Vieles darauf hin, dass körperliche Aktivität beim Lernen den Lernerfolg erhöhen kann.

Lesen Sie nicht nur. Halten Sie inne und denken Sie nach. Wenn das Buch Sie etwas fragt, springen Sie nicht einfach zur Antwort. Stellen Sie sich vor, dass Sie das wirklich jemand fragt. Je gründlicher Sie Ihr Gehirn zum Nachdenken zwingen, desto größer ist die Chance, dass Sie lernen und behalten.

Immer langsam. Je mehr Sie verstehen, desto weniger müssen Sie auswendig lernen.

1

Page 28: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

xxviii Einführung

Gebrauchsanleitung für dieses Buch

Lies michDas hier ist ein Lehrbuch, keine Referenz. Wir haben mit Absicht alles weggelassen, was Ihnen dabei in die Quere kommen könnte, das zu lernen, was wir am jeweiligen Punkt des Buchs behandeln. Beim ersten Lesen sollten Sie unbedingt auch am Anfang des Buchs beginnen. Das Buch geht zu jedem Zeitpunkt davon aus, dass Sie bestimmte Dinge bereits gesehen und gelernt haben.

Dieses Buch soll Sie so schnell wie möglich mit Python produktiv machen.

Wir führen die Inhalte dann ein, wenn Sie sie benötigen. Sie werden deswegen keine langen Listen mit technischen Einzelheiten finden, keine Tabelle der von Python unterstützen Operatoren, keine Vorrangregeln für Operatoren. Wir können nicht alles behandeln, haben uns aber große Mühe gegeben, den wichtigen Stoff so gut wie möglich zu behandeln, damit Python in Ihrem Hirn schnell heimisch wird und auch dort wohnen bleibt. Wir setzen nur eine einzige Sache voraus: Dass Sie bereits mit einer anderen Programmiersprache vertraut sind.

Dieses Buch befasst sich mit Python 3.

Wir nutzen in diesem Buch Version 3 der Programmiersprache Python und erläutern im ersten Kapitel, wie man sich Python 3 beschafft und es installiert. Nachdem das gesagt ist: Wir werden Version 2 nicht vollständig ignorieren, wie Sie in den Kapiteln 8 bis 11 sehen werden. Aber vertrauen Sie uns: Sie werden mit Python so glücklich sein, dass Sie kaum bemerken, dass die von Ihnen verwendeten Technologien Python 2 nutzen.

Wir werden Python gleich für Sie zum Einsatz bringen.

Gleich von Kapitel 1 an werden wir nützliche Dinge tun. Hier wird nicht abgehangen, denn wir wollen, dass Sie vom ersten Augenblick an mit Python produktiv sind.

Die Aktivitäten sind NICHT optional.

Die Übungen und Aktivitäten sind kein Beiwerk. Sie sind ein wesentlicher Bestandteil des Buchs. Einige von ihnen sollen Ihnen beim Merken helfen, andere beim Verstehen und noch andere beim Anwenden. Überspringen Sie nichts.

Page 29: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

Sie sind hier 4 xxix

Die Einführung

Die Redundanz ist beabsichtigt und wichtig. Eins der Dinge, die bei einem »Von Kopf bis Fuß«-Buch grundlegend anders sind, ist, dass wir möchten, dass Sie die Sache wirklich verstehen. Und wir möchten, dass Sie nach Beendigung des Buches behalten, was Sie gelernt haben. Einprägen und Erinnern sind bei den meisten Lehr- oder Referenzbüchern nicht unbedingt das Hauptziel – in diesem Buch schon. Deswegen werden Ihnen in diesem Buch einige Konzepte mehrfach begegnen.

Die Codebeispiele sind so schlank wie möglich.Unsere Leser sagen uns, dass sie es frustrierend finden, sich durch 200 Zeilen Code graben zu müssen, um die beiden Zeilen zu finden, die sie wirklich verstehen müssen. Die meisten Beispiele in diesem Buch werden mit so wenig Kontext wie möglich gezeigt, damit der Teil, den Sie lernen sollen, klar und einfach ist. Sie dürfen nicht erwarten, dass der Code robust oder gar vollständig ist. Die Beispiele in diesem Buch wurden spezifisch für Lehrzwecke geschrieben und sind nicht immer rundum funktionsfähig.

Wir haben viele der Codebeispiele in diesem Buch ins Web gestellt, damit Sie die Teile, die Sie benötigen, nicht von Hand eingeben müssen. Sie finden sie an zwei Stellen:

http://www.examples.oreilly.de/german_examples/hfpythonger/ (deutsch)

http://programming.itcarlow.ie (englisch)

Zu den Kopfnuss-Übungen gibt es keine Lösungen.Bei einigen gibt es keine richtige Antwort und bei anderen gehört es zum Lernprozess, den die Kopfnuss-Übungen anstoßen sollen, dass Sie selbst entscheiden müssen, ob und wann Ihre Antworten richtig sind. Bei einigen der Übungen finden Sie Hinweise, die Sie in die richtige Richtung lenken.

Page 30: von Kopf bis Fuß - download.e-bookshelf.de · Ihr Modul auf Pythons Software-Distributionssite im Web, damit alle von Ihrer Arbeit profitieren können. Unterwegs werden Sie außerdem

xxx Einführung

David Griffiths ist Autor von Rails von Kopf bis Fuß und Koautor von Programmieren von Kopf bis Fuß. Er begann im zarten Alter von 12 mit dem Programmieren, nachdem er eine Dokumentation über die Arbeiten von Seymour Papert gesehen hatte. Mit 15 schrieb er eine Implementierung von Paperts Programmiersprache LOGO. Nachdem er an der Universität Mathematik studiert hatte, begann er, Code für Computer und Zeitschriftenartikel für Menschen zu schreiben. Er hat als Trainer für Agile Softwareentwicklung, Entwickler und Parkplatzwächter gearbeitet, allerdings nicht in dieser Reihenfolge. Er kann in über zehn Sprachen programmieren, schreiben aber nur in einer. Wenn er nicht schreibt, programmiert oder lehrt, verbringt er seine Zeit auf Reisen mit seiner Frau – und Von Kopf bis Fuß-Autorenkollegin – Dawn.

Phil Hartley hat seinen Abschluss in Computer Science an der Universität Edinburgh, Schottland, gemacht. Er hat mehr als 30 Jahre in der IT-Industrie gearbeitet und lehrt jetzt an der University of Advancing Technology in Tempe, AZ. Phil ist fanatischer Anhänger des American Football.

Jeremy Jones is Koautor von Python for Unix and Linux System Administration und arbeitet seit 2001 aktiv mit Python. Er ist Entwickler und Systemadministrator gewesen und hat in der Qualitätssicherung und im technischen Support gearbeitet. All diese Aufgaben boten Lohn und Herausforderung, doch seine her-ausforderndste und lohnenswerteste Aufgabe ist das Ehemann- und Vatersein.

Technische Gutachter:

Jeremy Jones

Phil Hartley

David Griffiths

Die technischen Gutachter

Phil Hartley

Die technischen Gutachter