Objektorientierte Programmierung mit Python: [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel]
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
mitp
2004
|
Ausgabe: | 1. Aufl. |
Schriftenreihe: | mitp : Programmierung
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | 592 S. Ill., graph. Darst. 1 CD-ROM (12 cm) |
ISBN: | 3826609662 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV017474459 | ||
003 | DE-604 | ||
005 | 20050117 | ||
007 | t | ||
008 | 030902s2004 gw ad|| |||| 00||| ger d | ||
016 | 7 | |a 968654967 |2 DE-101 | |
020 | |a 3826609662 |9 3-8266-0966-2 | ||
035 | |a (OCoLC)76619431 | ||
035 | |a (DE-599)BVBBV017474459 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c DE | ||
049 | |a DE-20 |a DE-573 |a DE-634 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
100 | 1 | |a Weigend, Michael |d 1954- |e Verfasser |0 (DE-588)124529186 |4 aut | |
245 | 1 | 0 | |a Objektorientierte Programmierung mit Python |b [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] |c Michael Weigend |
250 | |a 1. Aufl. | ||
264 | 1 | |a Bonn |b mitp |c 2004 | |
300 | |a 592 S. |b Ill., graph. Darst. |e 1 CD-ROM (12 cm) | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a mitp : Programmierung | |
650 | 0 | 7 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python 3.5 |0 (DE-588)1113598565 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python 3.6 |0 (DE-588)113674746X |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python 3.0 |0 (DE-588)7624871-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python 2.4 |0 (DE-588)4813379-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python 3.7 |0 (DE-588)1155266803 |2 gnd |9 rswk-swf |
655 | 7 | |0 (DE-588)4143389-0 |a Aufgabensammlung |2 gnd-content | |
689 | 0 | 0 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Python 3.6 |0 (DE-588)113674746X |D s |
689 | 1 | 1 | |a Python 3.7 |0 (DE-588)1155266803 |D s |
689 | 1 | 2 | |a Python 3.0 |0 (DE-588)7624871-9 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
689 | 2 | 0 | |a Python 3.5 |0 (DE-588)1113598565 |D s |
689 | 2 | |8 2\p |5 DE-604 | |
689 | 3 | 0 | |a Python 2.4 |0 (DE-588)4813379-6 |D s |
689 | 3 | |8 3\p |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010527057&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-010527057 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 3\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804130275977854976 |
---|---|
adam_text | Titel: Objektorientierte Programmierung mit Python
Autor: Weigend, Michael
Jahr: 2004
Inhaltsverzeichnis
Einleitung................................................................................................17
Warum Python? ......................................................................................17
An wen wendet sich dieses Buch?..........................................................17
Inhalt und Aufbau ..................................................................................18
Hinweise zur Typographic ....................................................................19
Programmbeispiele ................................................................................19
1 Grundlagen..............................................................................................21
1.1 Was ist Programmieren?........................................................................21
1.2 Hardware und Software..........................................................................22
1.3 Programm als Algorithmus....................................................................23
1.4 Syntax und Semantik..............................................................................24
1.5 Interpreter und Compiler ......................................................................24
1.6 Programmierparadigmen ......................................................................26
1.7 Objektorientierte Programmierung ......................................................27
1.7.1 Strukturelle Zerlegung........................................................27
1.7.2 Die Welt als System von Objekten ........................................................28
r.7.3 Objekte besitzen Attribute und beherrschen Methoden......................29
1.7.4 Objekte sind Instanzen von Klassen......................................................30
1.8 Geschichte der Objektorientierten Programmierung..........................30
1.9 Aufgaben..................................................................................................31
i.ro Losungen..................................................................................................31
2 Python im interaktiven Modus ..............................................................33
2.1 Python installieren..................................................................................33
2.2 Python im interaktiven Modus ..............................................................34
2.2.1 Start des Python-Interpreters in einem Konsole-Fenster ....................34
2.2.2 Die Python-Shell von IDLE ....................................................................35
2.2.3 Die ersten Python-Befehle ausprobieren ..............................................35
2.3 Objekte ....................................................................................................36
2.4 Namen......................................................................................................38
2.4.1 Syntax-Regeln fur Bezeichner................................................................38
2.4.2 Schlusselworter........................................................................................39
Inhaltsverzeichnis
....................39
2.5 Anweisungen ..................................
2. 5.i Ausdruckanweisungen.....................................
43
2.5.2 ........................................................
44
2.5.3 Zuweisungen ............................................
2.5.4 Erweiterte Zuweisungen ......................................................................48
2.5.5 Ausgabe von Werten - die print-Anweisung ......................................48
2.6 Aufgaben................................................................................................4^
2.7 Losungen................................................................................................^
3 Python-Skripte ......................................................................................^3
3.1 Skripte editieren und ausfiihren mit IDLE..........................................53
3.2 Ausfiihren eines Python-Skripts..........................................................54
3.3 Kommentare........................................»• • • 57
3.4 Die Zeilenstruktur von Python-Programmen ....................................57
3.5 Das EVA-Prinzip....................................................................................61
3.6 Phasen der Programmentwicklung......................................................63
3.7 Guter Programmierstil..........................................................................64
3.8 Die Kunst des Fehlerfindens................................................................66
3.9 Aufgaben................................................................................................68
3.10 Losungen................................................................................................69
4 Datentypen ............................................................................................71
4.1 Daten als Objekte ..................................................................................71
4.2 Fundamentale Datentypen im Uberblick............................................72
4.3 Datentypen und Klassen ......................................................................74
4.4 NoneType ..............................................................................................74
4.5 Wahrheitswerte - der Datentyp bool....................................................75
4.6 Ganze Zahlen........................................................................................76
4.6.1 int und long ..........................................................................................75
4.6.2 Dezimalzahlen, Oktalzahlen und Hexadezimalzahlen ......................77
4.7 Gleitkommazahlen............................................................................7g
4.8 Komplexe Zahlen ..........................................................................jg
4.9 Arithmetische Operatoren fur Zahlen ........................................go
4.10 Sequenzen......................................................................gg
4.10.1 Zeichenketten (Strings) ..................................................................g7
4.10.2 Unicode-Strings ..................................................gg
4.10.3 Raw-Strings............................................g^
4-10.4 Tupel .................................................................
6
Inhaltsverzeichnis
4.10.5 Liste..........................................................................................................91
4.10.6 Einige Grundoperationen fur Sequenzen ............................................92
4.10.7 Veranderbare und unveranderbare Sequenzen....................................94
4.11 Dictionaries..............................................................................................95
4.12 Typumwandlungen ................................................................................96
4.12.1 int() ..........................................................................................................97
4.12.2 float()........................................................................................................97
4.12.3 complexQ..................................................................................................98
4.12.4 bool() ........................................................................................................98
4.12.5 str(), unicode()..........................................................................................98
4.12.6 dictQ, list() und tuple()............................................................................99
4.13 Aufgaben..................................................................................................100
4.14 Losungen..................................................................................................105
5 Kontrollstrukturen..................................................................................109
5.1 Einfache Bedingungen............................................................................109
5.1.1 Vergleiche................................................................................................109
5.1.2 Zugehorigkeit zu einer Menge (in, not in)............................................113
5.1.3 Beliebige Ausdriicke als Bedingungen..................................................113
5.2 Zusammengesetzte Bedingungen - logische Operatoren ..................114
5.2.1 Negation (not)..........................................................................................114
5.2.2 Konjunktion (and) ..................................................................................115
5.2.3 Disjunktion (or) ......................................................................................116
5.2.4 Formalisierung von Bedingungen ........................................................117
5.2.5 Hinweis zum Programmierstil..............................................................117
5.3 Programmverzweigungen (bedingte Anweisungen)............................118
5.3.1 Einseitige Verzweigung (if) ....................................................................118
5.3.2 Zweiseitige Verzweigung (if-else)..........................................................119
5.3.3 Mehrfache Fallunterscheidung (elif)......................................................120
5.4 Bedingte Wiederholung (while)..............................................................121
5.4.1 Endlosschleifen........................................................................................122
5.5 Iteration liber eine Sequenz (for) ..........................................................123
5.5.1 Zahlschleifen - Verwendung von range() ............................................125
5.5.2 Verschachtelte Iterationen.........................:..................126
5.5.3 Iterative Berechnung rekursiver Folgen................................................127
5.6 Abbruch einer Schleife mit break..........................................................128
5.6.1 Abbruch eines Schleifendurchlaufs mit continue................................129
7
Inhaltsverzeichnis
129
5.7 Abfangen von Ausnahmen mit try ...........................
5.7.1 try...except..............................................................................................^
5.7.2 try...finally..............................................................................................^
5.8 Aufgaben................................................................................................^
5.9 Losungen................................................
143
6 Funktionen ..............................................
6.1 Aufruf von Funktionen ........................................................................145
6.2 Definition von Funktionen ..................................................................145
6.3 Schrittweise Verfeinerung....................................................................146
6.4 Ausfiihrung von Funktionen................................................................150
6.4.1 Globale und lokale Namen........................................150
6.4.2 Seiteneffekte - die global-Anweisung..................................................153
6.4.3 Parameterubergabe................................................................................154
6.5 Voreingestellte Parameterwerte............................................................156
6.5.1 Schlusselwort-Argumente ....................................................................158
6.6 Funktionen mit beliebiger Anzahl von Parametern ..........................160
6.7 Lokale Funktionen ................................................................................161
6.8 Rekursive Funktionen ..........................................................................162
6.8.1 Execution Frames..................................................................................164
6.8.2 Rekursionstiefe......................................................................................165
6.9 Funktionen als Objekte ........................................................................167
6.9.1 Lambda-Formen....................................................................................168
6.10 Hinweise zum Programmierstil ..........................................................168
6.10.1 Allgemeines............................................................................................168
6.10.2 Funktionsnamen....................................................................................169
6.10.3 Kommentierte Parameter......................................................................169
6.10.4 Docstrings..............................................................................................169
6.11 Aufgaben................................................................................................170
6.12 Losung........................................................................173
7 Sequenzen..............................................................................................177
7.1 Gemeinsame Operationen fur Sequenzen..........................................177
7.1.1 Zugriff auf Elemente einer Sequenz....................................................17g
7.1.2 Slicing von Sequenzen........................................................................3 73
7.1.3 Anwendung von Slicing bei rekursiven Algorithmen........................179
7-1-4 Rekursive Suche in einer Sequenz ..........................1 gO
7-2 Tupel ........................................................................1g1
8
Inhaltsverzeichnis
7.3 Listen........................................................................................................182
7.3.1 Eine Liste erzeugen ................................................................................183
7.3.2 Eine Liste verandern................................................................................185
7.3.3 Flache und tiefe Kopien..........................................................................187
7.3.4 Listen sortieren........................................................................................189
7.3.5 Binare Suche in einer sortierten Liste....................................................190
7.3.6 Zwei Sortierverfahren im Vergleich......................................................192
7.3.7 Modellieren mit Listen - Beispiel: die Charts ......................................196
7.4 Aufgaben..................................................................................................201
7.5 Losungen..................................................................................................202
7.6 Ergebnis des Experiments......................................................................203
8 Dictionaries..............................................................................................205
8.1 Operationen fur Dictionaries..................................................................205
8.2 Wie erstellt man ein Dictionary?............................................................206
8.2.1 Definition mit einem Dictionary-Display..............................................206
8.2.2 Schrittweiser Aufbau eines Dictionarys ................................................208
8.2.3 Dictionary aus anderen Dictionaries zusammensetzen - updateQ 208
8.3 ZugrifF auf Daten in einem Dictionary..................................................209
8.3.1 Vergebliche Zugriffsversuche................................................................209
8.4 Praxisbeispiel: Vokabeltrainer................................................................210
8.5 Typische Fehler........................................................................................212
8.6 Aufgaben..................................................................................................212
8.7 Losungen..................................................................................................215
9 Ein-und Ausgabe....................................................................................219
9.1 Files..........................................................................................................219
9.1.1 Die Rolle der Files bei E/A-Operationen ..............................................219
9.1.2 Was ist ein File? ......................................................................................220
9.1.3 ^in File-Objekt erzeugen........................................................................221
9.1.4 Speichern einer Zeichenkette ................................................................221
9.1.5 Laden einer Zeichenkette aus einer Datei ............................................223
9.1.6 Absolute und relative Pfade....................................................................223
9.1.7 Zwischenspeichern ohne zu schlieRen..................................................226
9.1.8 Zugriff auf Files (lesen und schreiben) ................................................226
9.1.9 Speichern beliebiger Daten auf Files ....................................................228
9.2 Objekte speichern mit pickle..................................................................229
9.2.1 Funktionen zum Speichern und Laden ................................................229
9
Inhaltsverzeichnis
................231
9.2.2 cpickle ..........................................................................232
9,5 Eingabe iiber die Tastatur ..........................
9.4 Die Pseudofiles sys.stdin und sys.stdout ............................................233
9.5 Formatierte Ausgabe von Werten mit dem Formatierungsoperator % 233
9.5.1 Anwendung: Ausgabe von Tabellen ....................................................233
q 6 Kommandozeilen-Argumente (Optionen) ..........................................235
,.T1 ................238
q.7 Ubungen ........................................
of- ... 241
9.8 Losungen........................*....................
10 Definition eigener Klassen....................................................................24^
10.1 Klassen und Objekte..............................................................................2^5
10.2 Definition von Klassen..........................................................................247
10.3 Objekte (Instanzen) ..............................................................................249
10.4 Zugriff auf Attribute - Sichtbarkeit ....................................................252
10.4.1 OfFentliche Attribute..............................................................................252
10.4.2 Private Attribute ....................................................................................253
10.4.3 Dynamische Erzeugung von Attributen..............................................255
10.5 Methoden ..............................................................................................255
10.5.1 Polymorphismus - iiberladen von Operatoren ..................................256
10.6 Abstraktion, Verkapselung und Geheimnisprinzip............................259
10.7 Vererbung..............................................................................................260
10.7.1 Beispiel: Die Klasse Konto - eine Spezialisierung der Klasse Geld . 261
10.8 Hinweise zum Programmierstil ..........................................................264
10.8.1 Bezeichner..............................................................................................264
10.8.2 Sichtbarkeit............................................................................................265
10.8.3 Dokumentation von Klassen ................................................................266
10.9 Typische Fehler......................................................................................266
10.10 Aufgaben................................................................................................268
10.11 Losungen............................................................................................271
11 Klassenbibliotheken in Modulen speichern........................................275
n.1 Testen einer Klasse in einem lauffahigen Stand-alone-Skript ..........275
n.2 Module speichern und importieren ................................277
11.3 Den Zugang zu einem Modul sicherstellen........................................278
11.4 Compilieren von Modulen..............................................................279
11.5 Programmierstil: Verwendung und Dokumentation von Modulen 280
10
Inhaltsverzeichnis
12 Objektorientiertes Modellieren..............................................................281
12.1 Phasen einer objektorientierten Software-Entwicklung ......................281
12.2 Fallstudie: Modell eines Worterbuchs ..................................................282
12.2.1 OOA: Entwicklung einer Klassenstruktur ............................................282
12.2.2 OOD: Entwurf einer Klassenstruktur
fur eine Implementierung in Python....................................................286
12.2.3 OOP: Implementierung der Klassenstruktur........................................288
12.3 Assoziationen zwischen Klassen............................................................292
12.3.1 Reflexive Assoziationen..........................................................................292
12.3.2 Aggregation..............................................................................................294
12.4 Beispiel: Management eines Musicals ..................................................294
12.4.1 OOA..........................................................................................................294
12.4.2 OOD ........................................................................................................296
12.4.3 OOP..........................................................................................................297
12.5 Aufgaben..................................................................................................306
12.6 Losungen..................................................................................................307
13 Verarbeitung von Zeichenketten............................................................311
13.1 Standardmethoden zur Verarbeitung von Zeichenketten....................311
13.1.1 Formatieren ............................................................................................312
13.1.2 Schreibweise............................................................................................312
13.1.3 Tests..........................................................................................................313
13.1.4 Entfernen und Aufspalten ....................................................................313
13.1.5 Suchen und Ersetzen..............................................................................314
13.2 Automatische Textproduktion................................................................315
13.2.1 Texte mit variablen Teilen - der Formatierungsoperator %................315
13.2.2 Textuelle Representation eines Objektes ..............................................318
13.3 Analyse von Texten..................................................................................319
13.3.1 Chat Bots..................................................................................................319
13.3.2 Textanalyse mit einfachen Vorkommenstests ......................................321
13.4 Regulare Ausdrucke................................................................................322
13.4.1 Aufbau eines regularen Ausdrucks........................................................323
13.4.2 Objekte fur regulare Ausdrucke (RE-Objekte)......................................326
13.4.3 Textpassagen extrahieren mit fmdall() ..................................................328
13.4.4 Zeichenketten zerlegen mit split() ........................................................330
13.4.5 Teilstrings ersetzen mit sub() ................................................................331
13.4.6 Match-Objekte..........................................................................................331
11
Inhaltsverzeichnis
13.5 Den Computer zum Sprechen bringen - Sprachsynthese ................334
ntj.i Links zum Thema Sprachsynthese......................................................336
V- a £ 1 ..................336
n.6 Aufeaben........................................
T •• ............339
13.7 Losungen........................................
14 Systemfunktionen..................................................................................3^
14.1 Das Modul sys - die Schnittstelle zum Laufzeitsystem......................347
14.1.1 Informationen tiber die aktuelle Systemumgebung ..........................348
14.1.2 Standardeingabe und -ausgabe ............................................................349
14.1.3 Die Objektverwaltungbeobachten mit getrefcount()..........................350
14.1.4 Ausfiihrung eines Skripts beenden......................................................351
14.2 Das Modul os - die Schnittstelle zum Betriebssystem ......................351
14.2.1 Dateien und Verzeichnisse suchen......................................................352
14.2.2 Zugriffrechte abfragen und andern (Windows und Unix) ................353
14.2.3 Dateien und Verzeichnisse anlegen und modifizieren......................356
14.2.4 Merkmale von Dateien und Verzeichnissen abfragen........................357
14.2.5 Umgebungsvariablen............................................................................358
14.2.6 Systematisches Durchlaufen eines Verzeichnisbaumes....................358
14.3 Datum und Zeit ....................................................................................361
14.3.1 Funktionen des Moduls time................................................................362
14.3.2 Sekundenformat....................................................................................362
14.3.3 Zeittupel ................................................................................................363
14.3.4 Zeitstrings..............................................................................................364
14.3.5 Einen Prozess unterbrechen mit sleep()..............................................365
14.4 Aufgaben................................................................................................365
14.5 Losungen................................................................................................366
15 Gestaltung von grafischen Benutzungsoberflachen ..........................369
15.x Ein einfiihrendes Beispiel ....................................................................3 70
15.2 Einfache Widgets ............................................................................372
15-3 Die Master-Slave-Hierarchie .............................................373
15.4 Optionen der Widgets ....................................................................374
15.4.1 Optionen bei der Instanzierung setzen............................................375
15.4.2 Widget-Optionen nachtraglich konfigurieren ..............................376
15-4-3 Fonts ......................................................................................376
15.4.4 Farben..................................................................................377
15.4.5 Rahmen............................................................................37g
15.4.6 Die GroRe eines Widgets..............................37q
12
Inhaltsverzeichnis
15.4.7 Leerraum um Text..................................................................................380
15.5 Gemeinsame Methoden der Widgets....................................................381
15.6 DieKlasseTk ..........................................................................................382
15.7 Die Klasse Button....................................................................................383
15.8 Die Klasse Label......................................................................................383
15.8.1 Dynamische Konfiguration der Beschriftung ......................................383
15.8.2 Verwendung von Kontrollvariablen ......................................................385
15.9 Die Klasse Entry....................................................................386
15.10 Die Klasse Radiobutton ..........................................................................388
15.11 Die Klasse Checkbutton..........................................................................390
15.12 Die Klasse Scale ......................................................................................392
15.13 Die Klasse Frame....................................................................................394
15.14 Aufgaben..................................................................................................394
15.15 Losungen..................................................................................................396
16 Layout ......................................................................................................401
16.1 Der Packer................................................................................................401
16.2 Layout-Fehler ..........................................................................................403
16.3 Raster-Layout ..........................................................................................404
16.4 Vorgehensweise bei der GUI-Entwicklung ..........................................408
16.4.1 Die Benutzungsoberflache gestalten......................................................410
16.4.2 Funktionalitat hinzufugen......................................................................413
16.5 Aufgaben..................................................................................................414
16.6 Losungen..................................................................................................415
17 Grafik........................................................................................................423
17.1 Die Tkinter-Klasse Canvas......................................................................423
17.1.1 Generierung grafischer Elemente - ID, Positionierung und
Display-Liste ............................................................................................424
17.1.2 Grafische Elemente gestalten ................................................................426
17.1.3 Visualisieren mit Kreisdiagrammen......................................................427
17.2 Bilder einbinden......................................................................................430
17.2.1 Icons auf Schaltflachen ..........................................................................430
17.2.2 Hintergrundbilder ..................................................................................431
17.3 Aufgaben..................................................................................................433
17.4 Losungen..................................................................................................434
13
Inhaltsverzeichnis
......437
18 Event-Verarbeitung..................................
18.1 Einfiihrendes Beispiel .....................................
............439
18.2 Event-Sequenzen ..................................
..... 440
18.2.1 Event-Typen........................................
18 2 2 Qualifizierer fur Maus- und Tastatur-Events ......................................44^
441
18.2.3 Modifizierer..............................................
18.3 Beispiel: Tastaturereignisse verarbeiten..............................................442
18.4 Programmierung eines Eventhandlers................................................444
18.4.1 Beispiel fur eine Event-Auswertung ....................................................444
18.5 Bindemethoden......................................................................................44^
18.6 Aufgaben................................................................................................44 ^
18.7 Losungen................................................................................................44^
19 Komplexe Benutzungsoberflachen......................................................453
19.1 Text-Widgets..........................................................................................453
19.1.1 Methoden der Text-Widgets..................................................................454
19.2 Rollbalken (Scrollbars)..........................................................................456
19.3 Menus ....................................................................................................457
19.3.1 Die Klasse Menu....................................................................................458
19.3.2 Methoden der Klasse Menu..................................................................458
19.4 Texteditor mit Menlileiste und Pulldown-Menu ................................460
19.5 Dialogboxen............................................................................................461
19.6 Aufgaben................................................................................................465
19.7 Losungen................................................................................................465
20 Threads ..................................................................................................4S9
20.1 Funktionen in einem Thread ausfuhren ............................................470
20.2 Thread-Objekte erzeugen - die Klasse Thread....................................472
20.3 Aufgaben................................................................................................475
20.4 Losungen................................................................................................475
21 Fehler finden und vermeiden ..............................................................4gl
21.1 Testen von Bedingungen........................................................4g]
21.1.1 Ausnahmen (Exceptions)....................................................4g1
21.1.2 Testen von Vor- und Nachbedingungen mit assert()..........................483
21.1.3 Testen im Debugging-Modus ..............................................4g5
21.1.4 Ausnahmen gezielt auslosen....................................................4g5
21.2 Selbstdokumentation.................
Inhaltsverzeichnis
21.3 Debugging................................................................................................487
21.4 Aufgabe....................................................................................................489
21.5 Losung......................................................................................................490
22 CGI-Programmierung............................................................................491
22.1 Wie funktionieren CGI-Skripte?............................................................491
22.2 Aufbau eines einfachen CGI-Skripts ....................................................493
22.3 CGI-Skripte ausfuhren............................................................................494
22.4 Kommunikation fiber interaktive Webseiten........................................496
22.4.1 Aufbau eines HTML-Formulars ............................................................497
22.5 Verarbeitung von Eingabedaten in einem CGI-Skript..........................500
22.6 CGI-Skripte debuggen............................................................................502
22.7 Objektorientierte CGI-Skripte - Beispiel: ein Chat-Room ..................503
22.8 CGI-Skripte mit Cookies ........................................................................508
22.9 Aufgaben..................................................................................................511
22.10 Losungen..................................................................................................512
23 Internet-Programmierung......................................................................517
23.1 Was ist ein Protokoll?..............................................................................517
23.2 Ubertragung von Dateien mit FTP........................................................518
23.2.1 Das Modul ftplib......................................................................................519
23.2.2 Navigieren und Downloaden..................................................................520
23.2.3 Ein Suchroboter fur FTP-Server ............................................................521
23.3 Zugriffauf Webseiten mit HTTP ..........................................................525
23.3.1 Automatische Auswertung von Webseiten ..........................................527
23.4 E-Mails senden mit SMTP......................................................................528
23.5 Aufgaben..................................................................................................531
23.6 Losungen..................................................................................................533
24 Datenbanken............................................................................................539
24.1 Was ist ein Datenbanksystem? ..............................................................539
24.2 Entity-Relationship-Diagramme (ER-Diagramme) ..............................540
24.3 Relationale Datenbanken........................................................................541
24.4 Darstellung von Relationen als Listen oder Dictionaries ....................542
24.5 Das Modul anydbm - Zugang zu DBM-Datenbanken........................543
24.5.1 Ein Datenbank-Objekt erzeugen............................................................543
24.5.2 Zugriffauf Datenbank-Objekte..............................................................543
24.5.3 Wie speichert man Tupel?......................................................................544
15
Inhaltsverzeichnis
24.6 Online-Redaktionssystem mit Datenbankanbindung........................545
24.6.1 Objektorientierte Analyse (OOA)..........................................................547
24.6.2 Objektorientierter Entwurf (OOD) ......................................................547
24.6.3 Exkurs: Authentifizieren mit MD5-Fingerprints ................................548
24.6.4 Implementierung mit Python (OOP) ..................................................549
24.7 Aufgaben................................................................................................556
24.8 Losungen................................................................................................557
AnhangA............................................................................................................559
A.i Zeichencodierung..................................................................................559
A.1.1 Codierung von Sonderzeichen in HTML............................................559
A.i.2 Oktettcodierung ISO-8859-1
(erweiterter ASCII-Code, Unicode 0-255)............................................559
A.2 Quellen im WWW ................................................................................564
A.3 Standardfunktionen..............................................................................564
A.4 Mathematische Funktionen..................................................................567
A.4.1 Das Modul Math....................................................................................567
A.4.2 Das Modul random................................................................................568
A.5 EBNF-Grammatik..................................................................................568
B Glossar....................................................................................................573
C Inhalt der CD..................................................................5g2
Stichwortverzeichnis ......................................................5g3
16
|
any_adam_object | 1 |
author | Weigend, Michael 1954- |
author_GND | (DE-588)124529186 |
author_facet | Weigend, Michael 1954- |
author_role | aut |
author_sort | Weigend, Michael 1954- |
author_variant | m w mw |
building | Verbundindex |
bvnumber | BV017474459 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)76619431 (DE-599)BVBBV017474459 |
discipline | Informatik |
edition | 1. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02459nam a2200565 c 4500</leader><controlfield tag="001">BV017474459</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20050117 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">030902s2004 gw ad|| |||| 00||| ger d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">968654967</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3826609662</subfield><subfield code="9">3-8266-0966-2</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)76619431</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV017474459</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">DE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-20</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-634</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Weigend, Michael</subfield><subfield code="d">1954-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)124529186</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Objektorientierte Programmierung mit Python</subfield><subfield code="b">[Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel]</subfield><subfield code="c">Michael Weigend</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">mitp</subfield><subfield code="c">2004</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">592 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield><subfield code="e">1 CD-ROM (12 cm)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">mitp : Programmierung</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4434275-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python 3.5</subfield><subfield code="0">(DE-588)1113598565</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python 3.6</subfield><subfield code="0">(DE-588)113674746X</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python 3.0</subfield><subfield code="0">(DE-588)7624871-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python 2.4</subfield><subfield code="0">(DE-588)4813379-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python 3.7</subfield><subfield code="0">(DE-588)1155266803</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="0">(DE-588)4143389-0</subfield><subfield code="a">Aufgabensammlung</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Python</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4434275-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Python 3.6</subfield><subfield code="0">(DE-588)113674746X</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Python 3.7</subfield><subfield code="0">(DE-588)1155266803</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">Python 3.0</subfield><subfield code="0">(DE-588)7624871-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">Python 3.5</subfield><subfield code="0">(DE-588)1113598565</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" ind2="0"><subfield code="a">Python 2.4</subfield><subfield code="0">(DE-588)4813379-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2=" "><subfield code="8">3\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010527057&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-010527057</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">3\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
genre | (DE-588)4143389-0 Aufgabensammlung gnd-content |
genre_facet | Aufgabensammlung |
id | DE-604.BV017474459 |
illustrated | Illustrated |
indexdate | 2024-07-09T19:18:27Z |
institution | BVB |
isbn | 3826609662 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-010527057 |
oclc_num | 76619431 |
open_access_boolean | |
owner | DE-20 DE-573 DE-634 |
owner_facet | DE-20 DE-573 DE-634 |
physical | 592 S. Ill., graph. Darst. 1 CD-ROM (12 cm) |
publishDate | 2004 |
publishDateSearch | 2004 |
publishDateSort | 2004 |
publisher | mitp |
record_format | marc |
series2 | mitp : Programmierung |
spelling | Weigend, Michael 1954- Verfasser (DE-588)124529186 aut Objektorientierte Programmierung mit Python [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] Michael Weigend 1. Aufl. Bonn mitp 2004 592 S. Ill., graph. Darst. 1 CD-ROM (12 cm) txt rdacontent n rdamedia nc rdacarrier mitp : Programmierung Python Programmiersprache (DE-588)4434275-5 gnd rswk-swf Python 3.5 (DE-588)1113598565 gnd rswk-swf Python 3.6 (DE-588)113674746X gnd rswk-swf Python 3.0 (DE-588)7624871-9 gnd rswk-swf Python 2.4 (DE-588)4813379-6 gnd rswk-swf Python 3.7 (DE-588)1155266803 gnd rswk-swf (DE-588)4143389-0 Aufgabensammlung gnd-content Python Programmiersprache (DE-588)4434275-5 s DE-604 Python 3.6 (DE-588)113674746X s Python 3.7 (DE-588)1155266803 s Python 3.0 (DE-588)7624871-9 s 1\p DE-604 Python 3.5 (DE-588)1113598565 s 2\p DE-604 Python 2.4 (DE-588)4813379-6 s 3\p DE-604 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010527057&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 3\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Weigend, Michael 1954- Objektorientierte Programmierung mit Python [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] Python Programmiersprache (DE-588)4434275-5 gnd Python 3.5 (DE-588)1113598565 gnd Python 3.6 (DE-588)113674746X gnd Python 3.0 (DE-588)7624871-9 gnd Python 2.4 (DE-588)4813379-6 gnd Python 3.7 (DE-588)1155266803 gnd |
subject_GND | (DE-588)4434275-5 (DE-588)1113598565 (DE-588)113674746X (DE-588)7624871-9 (DE-588)4813379-6 (DE-588)1155266803 (DE-588)4143389-0 |
title | Objektorientierte Programmierung mit Python [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] |
title_auth | Objektorientierte Programmierung mit Python [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] |
title_exact_search | Objektorientierte Programmierung mit Python [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] |
title_full | Objektorientierte Programmierung mit Python [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] Michael Weigend |
title_fullStr | Objektorientierte Programmierung mit Python [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] Michael Weigend |
title_full_unstemmed | Objektorientierte Programmierung mit Python [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] Michael Weigend |
title_short | Objektorientierte Programmierung mit Python |
title_sort | objektorientierte programmierung mit python klassen objekte vererbung und polymorphie praktisch angewendet tkinter threads und cgi programmierung ubungen mit musterlosungen zu jedem kapitel |
title_sub | [Klassen, Objekte, Vererbung und Polymorphie praktisch angewendet ; Tkinter, Threads und CGI-Programmierung ; Übungen mit Musterlösungen zu jedem Kapitel] |
topic | Python Programmiersprache (DE-588)4434275-5 gnd Python 3.5 (DE-588)1113598565 gnd Python 3.6 (DE-588)113674746X gnd Python 3.0 (DE-588)7624871-9 gnd Python 2.4 (DE-588)4813379-6 gnd Python 3.7 (DE-588)1155266803 gnd |
topic_facet | Python Programmiersprache Python 3.5 Python 3.6 Python 3.0 Python 2.4 Python 3.7 Aufgabensammlung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=010527057&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT weigendmichael objektorientierteprogrammierungmitpythonklassenobjektevererbungundpolymorphiepraktischangewendettkinterthreadsundcgiprogrammierungubungenmitmusterlosungenzujedemkapitel |