Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Einführung in Python - Mark Lutz & David Ascher

Einführung in Python

Buch | Hardcover
656 Seiten
2007 | 2. Auflage
O'Reilly (Verlag)
978-3-89721-488-0 (ISBN)
CHF 55,85 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Google tut es, YouTube tut es, Zope und die NASA tun es - sie verwenden Python. Und das natürlich nicht ohne Grund! Python ist portabel, Open Source, modern, objektorientiert, mit schlankem Sprachkern bei gleichzeitig mächtigem Bibliotheksumfang. Für Anfänger ist aber noch ein weiterer Vorteil entscheidend: Python macht mit seiner übersichtlichen Syntax und seinem gut lesbaren Code den Einsteig leichter als die meisten anderen Sprachen.

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?
Mehr entdecken
aus dem Bereich
das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

Buch | Hardcover (2023)
Rheinwerk (Verlag)
CHF 62,85
eine praktische, projektbasierte Programmiereinführung

von Eric Matthes

Buch | Softcover (2023)
dpunkt (Verlag)
CHF 45,95
Grundlagen und Praxis der Python-Programmierung

von Paul Barry

Buch | Softcover (2024)
O'Reilly (Verlag)
CHF 69,85