Einführung in Python
O'Reilly (Verlag)
978-3-89721-488-0 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Die zweite Auflage von "Einführung in Python" ist der ideale Begleiter für diesen Einstieg. Mark Lutz und David Ascher führen ihre Leser von den Grundlagen der Programmausführung über die einzelnen Sprachelemente und die objektorientierten Konzepte bis zu fortgeschritteneren Themen wie Ausnahmebehandlung und Python-Frameworks.
Eine systematische Rundtour
Die beiden Autoren sind nicht nur bekannte Python-Experten, sondern auch erfahrene Trainer, die wissen, wie man mit Neulingen verschiedene Verständnisklippen umschifft und sie systematisch zu echten Könnern macht.
Grau ist alle Theorie
In jedem Kapitel illustrieren zahlreiche Beispiele die vorgestellten Konzepte und Features, in den Übungen an den Kapitelenden können Sie Ihre neu erworbenen Fähigkeiten auf die Probe stellen.
Python 2.5 kann noch mehr
Dieses Buch behandelt die aktuelle Version 2.5 mit all ihren Verbesserungen und Erweiterungen.
Mark Lutz ist Software-Entwickler, beschäftigt sich seit 1992 mit Python und gibt seit 1997 entsprechende Kurse. Fachveröffentlichungen.
Inhaltsverzeichnis
Vorwort XV
Teil I
Einleitung
1
Fragen und Antworten zu Python 3
Warum Python? 3
Ist Python eine Skriptsprache? 6
Wo ist der Haken? 7
Wer benutzt heute Python? 8
Was kann ich mit Python machen? 8
Welche technischen Stärken hat Python? 12
Python verglichen mit anderen Sprachen 15
2
Programmausführung durch Python 17
Einführung in den Python-Interpreter 17
Programmausführung 19
Varianten des Ausführungsmodells 22
3
Wie man Python-Programme ausführt 29
Interaktives Codieren 29
System-Kommandozeilen und Dateien 33
Windows-Datei-Icons anklicken 37
Module importieren und neu laden 41
Die Entwicklungsumgebung IDLE 45
Weitere IDEs 49
Eingebettete Aufrufe 50
Eingefrorene ausführbare Binärdateien 51
Startmöglichkeiten im Texteditor 52
Weitere Startoptionen 52
Die Qual der Wahl 52
Übungen zu Teil I 52
Teil II
Typen und Operationen
4
Zahlen 57
Python-Programmstruktur 57
Warum eingebaute Typen benutzen? 57
Zahlen 59
Python-Ausdrucksoperatoren 62
Zahlen in Aktion 65
Intermezzo: Dynamische Typisierung 73
5
Strings 80
String-Literale 81
Strings in Aktion 88
String-Formatierung 94
String-Methoden 97
Generische Typenkategorien 102
6
Listen und Dictionaries 104
Listen 104
Listen in Aktion 106
Dictionaries 111
Dictionaries in Aktion 112
7
Tupel, Dateien und alles andere 120
Tupel 120
Mengen 123
Dateien 124
Typenkategorien, die Zweite 126
Allgemeinheit 126
Verweise und Kopien 128
Boolesche Wahrheitswerte 130
Vergleiche und Gleichheit 131
Typenhierarchien in Python 133
Weitere Typen in Python 135
Fallen bei eingebauten Typen 135
Übungen zu Teil II 137
Teil III
Anweisungen und Syntax
8
Zuweisungen, Ausdrücke und Print 143
Zuweisungen 144
Ausdrücke 151
Print-Anweisungen 152
9
if-Tests 157
if-Anweisungen 157
Python-Syntaxregeln 160
Wahrheitstests 164
10
while und for-Schleifen 167
while-Schleifen 167
break, continue, pass und das Schleifen-else 169
for-Schleifen 172
Schleifenvarianten 178
11
Python-Code dokumentieren 184
Das Python-Dokumentationsintermezzo 184
Häufige Fallen beim Codieren 196
Übungaufgaben zu Teil III 197
Teil IV
Funktionen
12
Funktionen 203
Weshalb Funktionen? 203
Codierung von Funktionen 204
Ein erstes Beispiel: Definitionen und Aufrufe 207
Ein zweites Beispiel: Schnittmenge von Sequenzen 209
13
Gültigkeitsbereiche und Argumente 212
Gültigkeitsregeln 212
Die global-Anweisung 218
Gültigkeitsbereiche und verschachtelte Funktionen 219
Argumentübergabe 222
Spezielle Arten des Argumentabgleichs 225
14
Funktionen für Fortgeschrittene 235
Anonyme Funktionen: lambda 235
Funktionen auf Argumente anwenden 239
Funktionen auf Sequenzen anwenden 242
Werkzeuge bei der funktionalen Programmierung 243
Partielle Anwendung von Funktionen 244
List Comprehensions 245
Dekoratoren 249
Generatoren und Iteratoren 251
Konzepte beim Entwurf von Funktionen 255
Fallen bei Funktionen 258
Übungsaufgaben zu Teil IV 262
Teil V
Module
15
Module: Ein Überblick 267
Warum Module? 268
Architektur von Python-Programmen 268
Funktionsweise eines Imports 271
16
Grundlagen der Modulerzeugung 278
Erzeugung von Modulen 278
Benutzung von Modulen 279
Modulnamensräume 283
Nachladen von Modulen 288
17
Modul-Pakete 292
Grundlagen 292
Beispiele für Paket-Importe 295
Wozu Paket-Importe? 297
Eine Geschichte von drei Systemen 298
18
Weiterführende Modul-Themen 301
Datenkapselung in Modulen 301
Zukünftige Sprachmerkmale aktivieren 302
Gemischte Verwendungsmodi: _ _name_ _ und _ _main_ _ 303
Modulsuchpfad ändern 304
Die Import-Erweiterung »as« 304
Konzepte des Modulentwurfs 305
Fallstricke bei Modulen 308
Übungsaufgaben zu Teil V 315
Teil VI
Klassen und OOP
19
Objektorientierung in Python 319
Warum Klassen? 319
OOP aus 10.000 Meter Höhe betrachtet 321
20
Grundlagen von Klassen 330
Klassen erzeugen mehrere Instanz-Objekte 330
Klassen werden durch Vererbung spezialisiert 334
Klassen können Python-Operatoren abfangen 337
21
Details der Klassenkodierung 341
Die class-Anweisung 341
Methoden 344
Vererbung 347
Operatorenüberladung 351
Namensräume: Die ganze Geschichte 362
22
Design mit Klassen 369
Python und OOP 369
Klassen als Datensätze 371
OOP und Vererbung: »ist-ein« 372
OOP und Komposition: »hat-ein« 374
OOP und Delegation 378
Mehrfach-Vererbung 380
Klassen sind Objekte: Generische Objektfabriken 383
Methoden sind Objekte: gebunden oder ungebunden 385
Wiederholung: Dokumentations-Strings 387
Klassen und Module im Vergleich 388
23
Weiterführende Themen zu Klassen 390
Erweiterung eingebauter Typen 390
Pseudo-private Klassenattribute 394
Klassen »neuen Stils« in Python 2.2 396
Fallstricke bei Klassen 404
Übungsaufgaben zu Teil VI 407
Teil VII
Ausnahmen und Werkzeuge
24
Grundlagen zu Ausnahmen 415
Warum Ausnahmen? 415
Ausnahmebehandlung: Die Kurzfassung 417
Die try/except/else-Variante 421
Die try/finally-Variante 427
Die vereinheitlichte try/except/finally-Anweisung 428
Die raise-Anweisung 429
Die assert-Anweisung 431
25
Ausnahme-Objekte 433
Stringbasierte Ausnahmen 433
Klassenbasierte Ausnahmen 434
Allgemeine Formen der raise-Anweisung 442
26
Entwurf mit Ausnahmen 444
Verschachtelte Ausnahme-Behandler 444
Code-Idiome zu Ausnahmen 448
Tipps zum Entwurf mit Ausnahmen 451
Fallstricke bei Ausnahmen 455
Zusammenfassung zum Sprachkern 456
Übungsaufgaben zu Teil VII 461
Teil VIII
Die Hülle
27
Typische Aufgaben in Python 465
Konvertierung, Zahlen und Vergleiche 470
Manipulation von Strings 474
Modifikation von Datenstrukturen 479
Bearbeiten von Dateien und Verzeichnissen 486
Internet-bezogene Module 501
Ausführung von Programmen 505
Fehlersuche, Testen, Zeitmessung, Optimierung 508
Übungsaufgaben 511
28
Frameworks 513
Ein automatisches Beschwerdesystem 514
Verbindung mit COM: Billige Öffentlichkeitsarbeit 520
Ein auf Tkinter basierender GUI-Editor zum Bearbeiten von Formulardaten 526
Jython: Die glückliche Ehe zwischen Python und Java 533
Übungsaufgaben 541
29
Python-Ressourcen 542
Verschiedene Ebenen der Gemeinschaft 542
Der Entwicklungsprozess 547
Dienstleistungen und Produkte 547
Der juristische Rahmen: Die Python Software Foundation 547
Software 548
Beliebte Software von Drittanbietern 549
Webanwendungs-Frameworks 559
Werkzeuge für Python-Entwickler 561
Teil IX
Anhang
A
Installation und Konfiguration 565
B
Lösungen zu den Übungsaufgaben 572
B
Index 609
Sprache | deutsch |
---|---|
Gewicht | 1240 g |
Einbandart | gebunden |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Python |
Schlagworte | programmieren, Python 2.5, objektorientiert, jython, pypy • Python (Programmiersprache) |
ISBN-10 | 3-89721-488-1 / 3897214881 |
ISBN-13 | 978-3-89721-488-0 / 9783897214880 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich