Python 3: Lernen und professionell anwenden : das umfassende Praxisbuch
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Frechen
mitp
2022
|
Ausgabe: | 9. Auflage |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Auf dem Umschlag "9., aktualisierte Auflage" |
Beschreibung: | 1063 Seiten Illustrationen, Diagramme 24 cm x 17 cm |
ISBN: | 9783747505441 3747505449 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV048548541 | ||
003 | DE-604 | ||
005 | 20240409 | ||
007 | t | ||
008 | 221107s2022 gw a||| |||| 00||| ger d | ||
015 | |a 22,N25 |2 dnb | ||
016 | 7 | |a 1259914755 |2 DE-101 | |
020 | |a 9783747505441 |c Hb. : EUR 44.99 (DE), EUR 46.30 (AT) |9 978-3-7475-0544-1 | ||
020 | |a 3747505449 |9 3-7475-0544-9 | ||
024 | 3 | |a 9783747505441 | |
028 | 5 | 2 | |a Bestellnummer: 74750544 |
035 | |a (OCoLC)1350778854 | ||
035 | |a (DE-599)DNB1259914755 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-706 |a DE-860 |a DE-824 |a DE-29T |a DE-1043 |a DE-1050 |a DE-523 |a DE-1102 |a DE-Aug4 |a DE-1049 |a DE-83 |a DE-M347 |a DE-B768 |a DE-11 |a DE-573 |a DE-703 |a DE-573n | ||
082 | 0 | |a 005.133 |2 23/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
100 | 1 | |a Weigend, Michael |d 1954- |e Verfasser |0 (DE-588)124529186 |4 aut | |
245 | 1 | 0 | |a Python 3 |b Lernen und professionell anwenden : das umfassende Praxisbuch |c Michael Weigend |
250 | |a 9. Auflage | ||
264 | 1 | |a Frechen |b mitp |c 2022 | |
264 | 4 | |c © 2022 | |
300 | |a 1063 Seiten |b Illustrationen, Diagramme |c 24 cm x 17 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Auf dem Umschlag "9., aktualisierte Auflage" | ||
650 | 0 | 7 | |a Python 3.7 |0 (DE-588)1155266803 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python 3.x |0 (DE-588)7692360-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 |g Programmiersprache |0 (DE-588)4434275-5 |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 3.6 |0 (DE-588)113674746X |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python 2.4 |0 (DE-588)4813379-6 |2 gnd |9 rswk-swf |
653 | |a attribut | ||
653 | |a buch | ||
653 | |a compiler | ||
653 | |a debugging | ||
653 | |a iterator | ||
653 | |a klassen | ||
653 | |a linux | ||
653 | |a mac | ||
653 | |a mitp | ||
653 | |a objektorientierte programmierung | ||
653 | |a operatoren | ||
653 | |a polymorphie | ||
653 | |a programmieren | ||
653 | |a programmiersprache | ||
653 | |a programmierung | ||
653 | |a pycharm | ||
653 | |a python mysql | ||
653 | |a Python | ||
653 | |a rekursion | ||
653 | |a skriptsprache | ||
653 | |a softwareentwicklung | ||
653 | |a sql | ||
653 | |a webprogrammierung | ||
653 | |a windows | ||
653 | |a xml | ||
655 | 7 | |0 (DE-588)4143389-0 |a Aufgabensammlung |2 gnd-content | |
689 | 0 | 0 | |a Python 3.6 |0 (DE-588)113674746X |D s |
689 | 0 | 1 | |a Python 3.7 |0 (DE-588)1155266803 |D s |
689 | 0 | 2 | |a Python 3.0 |0 (DE-588)7624871-9 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Python 3.5 |0 (DE-588)1113598565 |D s |
689 | 1 | |5 DE-604 | |
689 | 2 | 0 | |a Python 2.4 |0 (DE-588)4813379-6 |D s |
689 | 2 | |5 DE-604 | |
689 | 3 | 0 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |D s |
689 | 3 | |5 DE-604 | |
689 | 4 | 0 | |a Python 3.x |0 (DE-588)7692360-5 |D s |
689 | 4 | |5 DE-604 | |
710 | 2 | |a mitp Verlags GmbH & Co. KG |0 (DE-588)1065362072 |4 pbl | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-7475-0545-8 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-7475-0546-5 |
780 | 0 | 0 | |i Vorangegangen ist |z 978-3-7475-0051-4 |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033924971&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a vlb |d 20220615 |q DE-101 |u https://d-nb.info/provenance/plan#vlb |
Datensatz im Suchindex
_version_ | 1805084205130973184 |
---|---|
adam_text |
INHALTSVERZEICHNIS
EINLEITUNG
.
23
WARUM
PYTHON?
.
23
PYTHON
3
.
23
AN
WEN
WENDET
SICH
DIESES
BUCH?
.
23
INHALT
UND
AUFBAU
.
24
HINWEISE
ZUR
TYPOGRAPHIE
.
25
PROGRAMMBEISPIELE
.
26
1
GRUNDLAGEN
.
27
1.1
WAS
IST
PROGRAMMIEREN?
.
27
1.2
HARDWARE
UND
SOFTWARE.
28
1.3
PROGRAMM
ALS
ALGORITHMUS
.
29
1.4
SYNTAX
UND
SEMANTIK
.
30
1.5
INTERPRETER
UND
COMPILER
.
30
1.6
PROGRAMMIERPARADIGMEN
.
32
1.7
OBJEKTORIENTIERTE
PROGRAMMIERUNG
.
33
1.7.1
STRUKTURELLE
ZERLEGUNG
.
33
1.7.2
DIE
WELT
ALS
SYSTEM
VON
OBJEKTEN
.
34
1.7.3
OBJEKTE
BESITZEN
ATTRIBUTE
UND
BEHERRSCHEN
METHODEN
.
35
1.7.4
OBJEKTE
SIND
INSTANZEN
VON
KLASSEN
.
36
1.8
HINTERGRUND:
GESCHICHTE
DER
OBJEKTORIENTIERTEN
PROGRAMMIERUNG
.
36
1.9
AUFGABEN
.
.
37
1.10
LOESUNGEN
.
38
2
DER
EINSTIEG
-
PYTHON
IM
INTERAKTIVEN
MODUS
.
39
2.1
PYTHON
INSTALLIEREN
.
39
2.2
PYTHON
IM
INTERAKTIVEN
MODUS
.
42
2.2.1
START
DES
PYTHON-INTERPRETERS
IN
EINEM
KONSOLENFENSTER
.
42
2.2.2
DIE
IDLE-SHELL
.
43
2.2.3
DIE
ERSTEN
PYTHON-BEFEHLE
AUSPROBIEREN
.
43
2.2.4
HOTKEYS
.
44
2.3
OBJEKTE
.
45
2.4
NAMEN
.
47
2.5
HINTERGRUND:
SYNTAX-REGELN
FUER
BEZEICHNER
.
47
2.6
SCHLUESSELWOERTER
.
48
2.7
ANWEISUNGEN
.
49
2.7.1
AUSDRUCKANWEISUNGEN
.
50
2.7.2
IMPORT-ANWEISUNGEN
.
54
2.7.3
ZUWEISUNGEN
.
55
2.7.4
ERWEITERTE
ZUWEISUNGEN
.
59
INHALTSVERZEICHNIS
2.7.5
HINTERGRUND:
DYNAMISCHE
TYPISIERUNG
.
59
2.8
AUFGABEN
.
60
2.9
LOESUNGEN
.
62
3
PYTHON-SKRIPTE
.
65
3.1
AUSPROBIEREN,
NACHMACHEN,
BESSER
MACHEN!
.
65
3.2
SKRIPTE
EDITIEREN
UND
AUSFUEHREN
MIT
IDLE
.
65
3.3
AUSFUEHREN
EINES
PYTHON-SKRIPTS
.
67
3.4
KOMMENTARE
.
69
3.5
DIE
ZEILENSTRUKTUR
VON
PYTHON-PROGRAMMEN
.
70
3.6
DAS
EVA-PRINZIP
.
73
3.7
PHASEN
DER
PROGRAMMENTWICKLUNG
.
75
3.8
GUTER
PROGRAMMIERSTIL
.
76
3.9
HINTERGRUND:
DIE
KUNST
DES
FEHLERFINDENS
.
78
3.10
WEITERE
ENTWICKLUNGSUMGEBUNGEN
FUER
PYTHON
.
80
3.10.1
THONNY
-
EINE
ENTWICKLUNGSUMGEBUNG
FUER
PYTHON-EINSTEIGER
.
80
3.10.2
PYTHON
IN
DER
CLOUD
.
81
3.10.3
JUPYTER
NOTEBOOK
UND
GOOGLE
COLAB
.
82
3.10.4
ENTWICKLUNGSUMGEBUNGEN
FUER
PROFIS
.
82
3.11
AUFGABEN
.
83
3.12
LOESUNGEN
.
84
4
STANDARD-DATENTYPEN
.
87
4.1
DATEN
ALS
OBJEKTE
.
87
4.2
FUNDAMENTALE
DATENTYPEN
IM
UEBERBLICK
.
89
4.3
TYPEN
UND
KLASSEN
.
90
4.4
NONETYPE
.
91
4.5
WAHRHEITSWERTE
-
DER
DATENTYP
BOOL
.
91
4.6
GANZE
ZAHLEN
.
92
4.7
GLEITKOMMAZAHLEN
.
94
4.8
KOMPLEXE
ZAHLEN
.
95
4.9
ARITHMETISCHE
OPERATOREN
FUER
ZAHLEN
.
96
4.10
SEQUENZEN
.
101
4.10.1
ZEICHENKETTEN
(STRINGS)
.
102
4.10.2
BYTESTRINGS
.
104
4.10.3
TUPEL
.
105
4.10.4
LISTE
.
106
4.10.5
BYTEARRAY
.
107
4.10.6
EINIGE
GRUNDOPERATIONEN
FUER
SEQUENZEN
.
107
4.10.7
VERAENDERBARE
UND
UNVERAENDERBARE
SEQUENZEN
.
109
4.11
MENGEN
.
110
4.12
DICTIONARIES
.
111
4.13
TYPUMWANDLUNGEN
.
111
4.13.1
INT()
.
113
4.13.2
FLOAT()
.
113
6
INHALTSVERZEICHNIS
4.13.3
.
.
114
4.13.4
BOOL()
.
114
4.13.5
STR()
.
114
4.13.6
DICT(),
LIST()
UND
TUPLE()
.
115
4.14
AUFGABEN
.
115
4.15
LOESUNGEN
.
118
5
KONTROLLSTRUKTUREN
.
123
5.1
EINFACHE
BEDINGUNGEN
.
123
5.1.1
VERGLEICHE
.
123
5.1.2
ZUGEHOERIGKEIT
ZU
EINER
MENGE
(IN,
NOT
IN)
.
127
5.1.3
BELIEBIGE
AUSDRUECKE
ALS
BEDINGUNGEN
.
127
5.2
ZUSAMMENGESETZTE
BEDINGUNGEN
-
LOGISCHE
OPERATOREN
.
128
5.2.1
NEGATION
(NOT)
.
128
5.2.2
KONJUNKTION
(AND)
.
129
5.2.3
DISJUNKTION
(OR)
.
130
5.2.4
FORMALISIERUNG
VON
BEDINGUNGEN
.
131
5.2.5
HINWEIS
ZUM
PROGRAMMIERSTIL
.
132
5.3
PROGRAMMVERZWEIGUNGEN
(BEDINGTE
ANWEISUNGEN)
.
132
5.3.1
EINSEITIGE
VERZWEIGUNG
(IF)
.
133
5.3.2
ZWEISEITIGE
VERZWEIGUNG
(IF-ELSE)
.
133
5.3.3
MEHRFACHE
FALLUNTERSCHEIDUNG
(ELIF)
.
134
5.3.4
BEDINGTE
AUSDRUECKE
.
136
5.4
BEDINGTE
WIEDERHOLUNG
(WHILE)
.
136
5.4.1
ENDLOSSCHLEIFEN
.
137
5.5
ITERATION
UEBER
EINE
KOLLEKTION
(FOR)
.
139
5.5.1
ZAEHLSCHLEIFEN
-
VERWENDUNG
VON
RAENGE
()
.
140
5.5.2
VERSCHACHTELTE
ITERATIONEN
.
141
5.5.3
VERTIEFUNG:
ITERATIVE
BERECHNUNG
REKURSIVER
FOLGEN
.
143
5.6
ABBRUCH
EINER
SCHLEIFE
MIT
BREAK
.
143
5.6.1
ABBRUCH
EINES
SCHLEIFENDURCHLAUFS
MIT
CONTINUE
.
144
5.7
ABFANGEN
VON
AUSNAHMEN
MIT
TRY
.
145
5.7.1
146
5.8
AUFGABEN
.
148
5.9
LOESUNGEN
.
152
6
FUNKTIONEN
.
157
6.1
AUFRUF
VON
FUNKTIONEN
.
157
6.2
DEFINITION
VON
FUNKTIONEN
.
160
6.3
SCHRITTWEISE
VERFEINERUNG
.
162
6.4
AUSFUEHRUNG
VON
FUNKTIONEN
.
166
6.4.1
GLOBALE
UND
LOKALE
NAMEN
.
166
6.4.2
SEITENEFFEKTE
-
DIE
GLOBAL-ANWEISUNG
.
169
6.4.3
PARAMETERUEBERGABE
.
170
7
INHALTSVERZEICHNIS
6.5
VOREINGESTELLTE
PARAMETERWERTE
.
172
6.5.1
SCHLUESSELWORT-ARGUMENTE
.
174
6.6
FUNKTIONEN
MIT
BELIEBIGER
ANZAHL
VON
PARAMETERN
.
176
6.7
LOKALE
FUNKTIONEN
.
177
6.8
REKURSIVE
FUNKTIONEN
.
178
6.9
EXPERIMENTE
ZUR
REKURSION
MIT
DER
TURTLE-GRAFIK
.
180
6.9.1
TURTLE-BEFEHLE
IM
INTERAKTIVEN
MODUS
.
180
6.9.2
EINE
REKURSIVE
SPIRALE
.
181
6.9.3
BAUMSTRUKTUREN
.
183
6.9.4
KUENSTLICHER
BLUMENKOHL
-
SELBSTAEHNLICHE
BILDER
.
184
6.10
REKURSIVE
ZAHLENFUNKTIONEN
.
186
6.11
HINTERGRUND:
WIE
WERDEN
REKURSIVE
FUNKTIONEN
AUSGEFUEHRT?
.
187
6.11.1
EXECUTION
FRAMES
.
187
6.11.2
REKURSIONSTIEFE
.
188
6.12
FUNKTIONEN
ALS
OBJ
EKTE
.
190
6.12.1
HINTERGRUND:
TYPEN
SIND
KEINE
FUNKTIONEN
.
191
6.13
LAMBDA-FORMEN
.
191
6.14
FUNKTIONSANNOTATIONEN:
TYPEN
ZUORDNEN
.
192
6.15
HINWEISE
ZUM
PROGRAMMIERSTIL
.
193
6.15.1
ALLGEMEINES
.
193
6.15.2
FUNKTIONSNAMEN
.
193
6.15.3
KOMMENTIERTE
PARAMETER
.
194
6.15.4
DOCSTRINGS
.
194
6.16
AUFGABEN
.
196
6.17
LOESUNGEN
.
199
7
SEQUENZEN,
MENGEN
UND
GENERATOREN
.
203
7.1
GEMEINSAME
OPERATIONEN
FUER
SEQUENZEN
.
203
7.1.1
ZUGRIFF
AUF
ELEMENTE
EINER
SEQUENZ
.
204
7.1.2
SLICING
VON
SEQUENZEN
.
205
7.1.3
AUSPACKEN
(UNPACKING)
.
206
7.2
VERTIEFUNG:
REKURSIVE
FUNKTIONEN
FUER
SEQUENZEN
.
207
7.2.1
REKURSIVES
SUMMIEREN
.
207
7.2.2
REKURSIVE
SUCHE
.
207
7.3
TUPEL
.
209
7.4
LISTEN
.
210
7.4.1
EINE
LISTE
ERZEUGEN
.
210
7.4.2
EINE
LISTE
VERAENDERN
.
213
7.4.3
FLACHE
UND
TIEFE
KOPIEN
.
215
7.4.4
LISTEN
SORTIEREN
.
216
7.4.5
BINAERE
SUCHE
IN
EINER
SORTIERTEN
LISTE
.
218
7.4.6
ZWEI
SORTIERVERFAHREN
IM
VERGLEICH
.
219
7.4.7
MODELLIEREN
MIT
LISTEN
-
BEISPIEL:
DIE
CHARTS
.
223
7.5
GENERATOREN
.
227
7.5.1
GENERATORAUSDRUECKE
.
228
8
INHALTSVERZEICHNIS
7.5.2
GENERATORFUNKTIONEN
.
228
7.5.3
ITERATOREN
.
230
7.5.4
VERWENDUNG
VON
GENERATOREN
.
231
7.6
MENGEN
.
231
7.6.1
OPERATIONEN
FUER
MENGEN
.
233
7.6.2
MODELLIEREN
MIT
MENGEN
-
BEISPIEL:
GRAPHEN
.
234
7.7
AUFGABEN
.
237
7.8
LOESUNGEN
.
239
8
DICTIONARIES
.
.
241
8.1
OPERATIONEN
FUER
DICTIONARIES
.
241
8.2
WIE
ERSTELLT
MAN
EIN
DICTIONARY?.
242
8.2.1
DEFINITION
MIT
EINEM
DICTIONARY-DISPLAY
.
242
8.2.2
SCHRITTWEISER
AUFBAU
EINES
DICTIONARYS
.
244
8.2.3
EIN
DICTIONARY
AUS
ANDEREN
DICTIONARIES
ZUSAMMENSETZEN
-
UPDATE()
.
245
8.3
ZUGRIFF
AUF
DATEN
IN
EINEM
DICTIONARY
.
245
8.3.1
VERGEBLICHE
ZUGRIFFSVERSUCHE
.
245
8.4
PRAXISBEISPIEL:
VOKABELTRAINER
.
246
8.5
TYPISCHE
FEHLER
.
248
8.6
AUFGABEN
.
248
8.7
LOESUNGEN
.
251
9
EIN
UND
AUSGABE.
255
9.1
STREAMS
.
255
9.1.1
DIE
ROLLE
DER
STREAMS
BEI
E/A-OPERATIONEN
.
255
9.1.2
WAS
IST
EIN
STREAM?
.
256
9.1.3
EINE
DATEI
OEFFNEN
.
257
9.1.4
SPEICHERN
EINER
ZEICHENKETTE
.
258
9.1.5
LADEN
EINER
ZEICHENKETTE
AUS
EINER
DATEI
.
260
9.1.6
ABSOLUTE
UND
RELATIVE
PFADE
.
260
9.1.7
ZWISCHENSPEICHERN,
OHNE
ZU
SCHLIESSEN
.
262
9.1.8
ZUGRIFF
AUF
STREAMS
(LESEN
UND
SCHREIBEN)
.
263
9.2
MEHR
ZUVERLAESSIGKEIT
DURCH
TRY
UND
WITH-ANWEISUNGEN
.
265
9.2.1
.
266
9.2.2
WITH-ANWEISUNGEN
.
267
9.3
OBJEKTE
SPEICHERN
MIT
PICKLE
.
268
9.3.1
FUNKTIONEN
ZUM
SPEICHERN
UND
LADEN
.
268
9.4
DIE
STREAMS
SYS.STDIN
UND
SYS.STDOUT
.
270
9.5
AUSGABE
VON
WERTEN
MIT
DER
PRINT()-FUNKTION
.
271
9.5.1
ANWENDUNG:
AUSGABE
VON
TABELLEN
.
272
9.6
KOMMANDOZEILEN-ARGUMENTE
(OPTIONEN)
.
273
9.6.1
ZUGRIFF
AUF
OPTIONEN
.
274
9.6.2
BEISPIEL
.
274
9.6.3
SKRIPTE
MIT
OPTIONEN
TESTEN
.
275
9
INHALTSVERZEICHNIS
9.7
AUFGABEN
.
275
9.8
LOESUNGEN
.
278
10
DEFINITION
EIGENER
KLASSEN
.
283
10.1
KLASSEN
UND
OBJEKTE
.
283
10.2
DEFINITION
VON
KLASSEN
.
285
10.3
OBJEKTE
(INSTANZEN)
.
287
10.4
ZUGRIFF
AUF
ATTRIBUTE
-
SICHTBARKEIT
.
290
10.4.1
OEFFENTLICHE
ATTRIBUTE
.
290
10.4.2
PRIVATE
ATTRIBUTE
.
291
10.4.3
PROPERTIES
.
293
10.4.4
DYNAMISCHE
ERZEUGUNG
VON
ATTRIBUTEN
.
295
10.5
METHODEN
.
295
10.5.1
POLYMORPHISMUS
-
UEBERLADEN
VON
OPERATOREN
.
296
10.5.2
VERTIEFUNG:
OBJEKTE
AUSFUEHRBAR MACHEN
-
DIE
METHODE
-
CALL_()
.
299
10.5.3
STATISCHE
METHODEN
.
300
10.6
ABSTRAKTION,
VERKAPSELUNG
UND
GEHEIMNISPRINZIP
.
302
10.6.1
ABSTRAKTION
.
302
10.6.2
VERKAPSELUNG
.
302
10.6.3
GEHEIMNISPRINZIP
.
302
10.7
VERERBUNG
.
303
10.7.1
SPEZIALISIERUNGEN
.
303
10.7.2
BEISPIEL:
DIE
KLASSE
KONTO
-
EINE
SPEZIALISIERUNG
DER
KLASSE
GELD
.
304
10.7.3
VERTIEFUNG:
STANDARDKLASSEN
ALS
BASISKLASSEN
.
307
10.8
HINWEISE
ZUM
PROGRAMMIERSTIL
.
309
10.8.1
SCHREIBWEISE
.
309
10.8.2
SICHTBARKEIT
.
309
10.8.3
DOKUMENTATION
VON
KLASSEN
.
310
10.9
TYPISCHE
FEHLER
.
311
10.9.1
VERSEHENTLICHES
ERZEUGEN
NEUER
ATTRIBUTE
.
311
10.9.2
VERWECHSELN
VON
METHODEN
UND
ATTRIBUTEN
.
311
10.10
AUFGABEN
.
312
10.11
LOESUNGEN
.
315
11
KLASSEN
WIEDERVERWENDEN
-
MODULE
.
321
11.1
TESTEN
EINER
KLASSE
IN
EINEM
LAUFFAEHIGEN
STAND-ALONE-SKRIPT
.
321
11.2
MODULE
SPEICHERN
UND
IMPORTIEREN
.
323
11.3
DEN
ZUGANG
ZU
EINEM
MODUL
SICHERSTELLEN
.
325
11.3.1
ERWEITERN
DER
VERZEICHNISLISTE
SYS.PATH
.
325
11.3.2
ANWENDUNGSBEISPIEL:
EINE
INTERAKTIVE
TESTUMGEBUNG
.
325
11.3.3
KOMPILIEREN
VON
MODULEN
.
326
11.4
PROGRAMMIERSTIL:
VERWENDUNG
UND
DOKUMENTATION
VON
MODULEN
.
327
10
INHALTSVERZEICHNIS
12
OBJEKTORIENTIERTES
MODELLIEREN.
329
12.1
PHASEN
EINER
OBJEKTORIENTIERTEN
SOFTWARE-ENTWICKLUNG
.
329
12.1.1
OBJEKTORIENTIERTE
ANALYSE
(OOA)
.
329
12.1.2
OBJEKTORIENTIERTER
ENTWURF
(OOD).
330
12.1.3
OBJEKTORIENTIERTE
PROGRAMMIERUNG
(OOP)
.
330
12.2
BEISPIEL:
MODELL
EINES
WOERTERBUCHS
.
330
12.2.1
OOA:
ENTWICKLUNG
EINER
KLASSENSTRUKTUR
.
330
12.2.2
OOD:
ENTWURF
EINER
KLASSENSTRUKTUR
ZUR
IMPLEMENTIERUNG
IN
PYTHON
.
334
12.2.3
OOP:
IMPLEMENTIERUNG
DER
KLASSENSTRUKTUR
.
336
12.3
ASSOZIATIONEN
ZWISCHEN
KLASSEN
.
340
12.3.1
REFLEXIVE
ASSOZIATIONEN
.
340
12.3.2
AGGREGATION
.
342
12.4
BEISPIEL:
MANAGEMENT
EINES
MUSICALS
.
343
12.4.1
OOA
.
343
12.4.2
OOD
.
345
12.4.3
OOP
.
345
12.5
AUFGABEN
.
355
12.6
LOESUNGEN
.
356
13
TEXTVERARBEITUNG.
361
13.1
STANDARDMETHODEN
ZUR
VERARBEITUNG
VON
ZEICHENKETTEN
.
361
13.1.1
FORMATIEREN
.
362
13.1.2
SCHREIBWEISE
.
362
13.1.3
TESTS
.
363
13.1.4
ENTFERNEN
UND
AUFSPALTEN
.
364
13.1.5
SUCHEN
UND
ERSETZEN
.
365
13.2
CODIERUNG
UND
DECODIERUNG
.
365
13.2.1
PLATONISCHE
ZEICHEN
UND
UNICODE
.
365
13.2.2
VERTIEFUNG:
ZEICHENKETTEN
DURCH
BYTEFOLGEN
DARSTELLEN
.
367
13.3
AUTOMATISCHE
TEXTPRODUKTION
.
369
13.3.1
TEXTE
MIT
VARIABLEN
TEILEN
-
ANWENDUNG
DER
STRING-METHODE
FORMAT()
.
369
13.3.2
VERTIEFUNG:
EINE
TABELLE
ERSTELLEN
.
372
13.3.3
MAHNBRIEFE
.
373
13.3.4
TEXTUELLE
REPRAESENTATION
EINES
OBJEKTS
.
374
13.3.5
F-STRINGS
.
376
13.4
ANALYSE
VON
TEXTEN
.
377
13.4.1
CHAT-BOTS
.
377
13.4.2
TEXTANALYSE
MIT
EINFACHEN
VORKOMMENSTESTS
.
378
13.5
REGULAERE
AUSDRUECKE
.
380
13.5.1
DIE
FUNKTION
FINDALL()
AUS
DEM
MODUL
RE
.
381
13.5.2
AUFBAU
EINES
REGULAEREN
AUSDRUCKS
.
381
13.5.3
OBJEKTE
FUER
REGULAERE
AUSDRUECKE
.
384
13.5.4
STRINGS
UNTERSUCHEN
MIT
SEARCH()
.
385
11
INHALTSVERZEICHNIS
13.5.5
TEXTPASSAGEN
EXTRAHIEREN
MIT
.
386
13.5.6
ZEICHENKETTEN
ZERLEGEN
MIT
SPLIT()
.
387
13.5.7
TEILSTRINGS
ERSETZEN
MIT
SUB()
.
388
13.5.8
MATCH-OBJEKTE
.
389
13.6
DEN
COMPUTER
ZUM
SPRECHEN
BRINGEN
-
SPRACHSYNTHESE
.
391
13.6.1
BUCHSTABIEREN
.
393
13.6.2
DEN
KLANG
DER
STIMME
VERAENDERN
.
395
13.7
AUFGABEN
.
398
13.8
LOESUNGEN
.
401
14
SYSTEMFUNKTIONEN
.
409
14.1
DAS
MODUL
SYS
-
DIE
SCHNITTSTELLE
ZUM
LAUFZEITSYSTEM
.
409
14.1.1
INFORMATIONEN
UEBER
DIE
AKTUELLE
SYSTEMUMGEBUNG
.
410
14.1.2
STANDARDEINGABE
UND-AUSGABE
.
411
14.1.3
DIE
OBJEKTVERWALTUNG
BEOBACHTEN
MIT
GETREFCOUNT()
.
412
14.1.4
AUSFUEHRUNG
EINES
SKRIPTS
BEENDEN
.
413
14.2
DAS
MODUL
OS
-
DIE
SCHNITTSTELLE
ZUM
BETRIEBSSYSTEM
.
413
14.2.1
DATEIEN
UND
VERZEICHNISSE
SUCHEN
.
414
14.2.2
HINTERGRUND:
ZUGRIFFSRECHTE
ABFRAGEN
UND
AENDERN
(WINDOWS
UND
UNIX)
.
415
14.2.3
DATEIEN
UND
VERZEICHNISSE
ANLEGEN
UND
MODIFIZIEREN
.
417
14.2.4
MERKMALE
VON
DATEIEN
UND
VERZEICHNISSEN
ABFRAGEN
.
418
14.2.5
PFADE
VERARBEITEN
.
419
14.2.6
HINTERGRUND:
UMGEBUNGSVARIABLEN
.
421
14.2.7
SYSTEMATISCHES
DURCHLAUFEN
EINES
VERZEICHNISBAUMES
.
422
14.3
DATUM
UND
ZEIT
.
424
14.3.1
FUNKTIONEN
DES
MODULS
TIME
.
425
14.3.2
SEKUNDENFORMAT
.
425
14.3.3
ZEIT-TUPEL
.
426
14.3.4
ZEITSTRINGS
.
427
14.3.5
EINEN
PROZESS
UNTERBRECHEN
MIT
SLEEP()
.
428
14.4
ZEITBERECHNUNGEN
MIT
DEM
MODUL
DATETIME
.
428
14.4.1
DIE
KLASSE
DATETIME
.
428
14.4.2
DIE
ZEITZONE
.
430
14.4.3
DIE
KLASSE
TIMEDELTA
.
431
14.5
AUFGABEN
.
431
14.6
LOESUNGEN
.
432
15
GRAFISCHE
BENUTZUNGSOBERFLAECHEN
MIT
TKINTER
.
437
15.1
EIN
EINFUEHRENDES
BEISPIEL
.
438
15.2
EINFACHE
WIDGETS
.
441
15.3
DIE
MASTER-SLAVE-HIERARCHIE
.
442
15.4
OPTIONEN
DER
WIDGETS
.
443
15.4.1
OPTIONEN
BEI
DER
INSTANZIIERUNG
SETZEN
.
443
15.4.2
WIDGET-OPTIONEN
NACHTRAEGLICH
KONFIGURIEREN
.
.
444
12
INHALTSVERZEICHNIS
15.4.3
FONTS
.
445
15.4.4
FARBEN
.
446
15.4.5
RAHMEN
.
446
15.4.6
DIE
GROESSE
EINES
WIDGETS
.
447
15.4.7
LEERRAUM
UM
TEXT
.
449
15.5
GEMEINSAME
METHODEN
DER
WIDGETS
.
450
15.6
DIE
KLASSE
TK
.
450
15.7
DIE
KLASSE
BUTTON
.
451
15.8
DIE
KLASSE
LABEL
.
451
15.8.1
DYNAMISCHE
KONFIGURATION
DER
BESCHRIFTUNG
.
452
15.8.2
VERWENDUNG
VON
KONTROLLVARIABLEN
.
453
15.9
DIE
KLASSE
ENTRY
.
455
15.10
DIE
KLASSE
RADIOBUTTON
.
457
15.11
DIE
KLASSE
CHECKBUTTON
.
459
15.12
DIE
KLASSE
SCALE
.
461
15.13
DIE
KLASSE
FRAME
.
463
15.14
AUFGABEN
.
463
15.15
LOESUNGEN
.
464
16
LAYOUT
.
469
16.1
DER
PACKER
.
469
16.2
LAYOUT-FEHLER
.
471
16.3
RASTER-LAYOUT
.
472
16.4
VORGEHENSWEISE
BEI
DER
GUI-ENTWICKLUNG
.
476
16.4.1
DIE
BENUTZUNGSOBERFLAECHE
GESTALTEN
.
479
16.4.2
FUNKTIONALITAET
HINZUFUEGEN
.
482
16.5
AUFGABEN
.
483
16.6
LOESUNGEN
.
486
17
GRAFIK
.
497
17.1
DIE
TKINTER-KLASSE
CANVAS
.
497
17.1.1
GENERIERUNG
GRAFISCHER
ELEMENTE
-
ID,
POSITIONIERUNG
UND
DISPLAY-LISTE
.
498
17.1.2
GRAFISCHE
ELEMENTE
GESTALTEN
.
500
17.1.3
VISUALISIEREN
MIT
KREISDIAGRAMMEN
.
502
17.2
DIE
KLASSE
PHOTOIMAGE
.
505
17.2.1
EINE
PIXELGRAFIK
ERZEUGEN
.
506
17.2.2
FOTOS
ANALYSIEREN
UND
VERAENDERN
.
508
17.3
BILDER
IN
EINE
BENUTZUNGSOBERFLAECHE
EINBINDEN
.
511
17.3.1
ICONS
AUF
SCHALTFLAECHEN
.
511
17.3.2
HINTERGRUNDBILDER
.
512
17.3.3
HINTERGRUND:
DAS
PPM-FORMAT
.
514
17.4
DIE
PYTHON
IMAGING
LIBRARY
(PIL)
.
515
17.4.1
INSTALLATION
EINES
MODULS
MIT
PIP
.
515
17.4.2
MIT
PIL
BELIEBIGE
BILDDATEIEN
EINBINDEN
.
516
INHALTSVERZEICHNIS
17.4.3
STEGANOGRAFIE
-
INFORMATIONEN
IN
BILDERN
VERSTECKEN
.
517
17.5
AUFGABEN
.
519
17.6
LOESUNGEN
.
520
18
EVENT-VERARBEITUNG
.
525
18.1
EINFUEHRENDES
BEISPIEL
.
526
18.2
EVENT-SEQUENZEN
.
528
18.2.1
EVENT-TYPEN
.
528
18.2.2
QUALIFIZIERER
FUER
MAUS
UND
TASTATUR-EVENTS
.
528
18.2.3
MODIFIZIERER
.
530
18.3
BEISPIEL:
TASTATUREREIGNISSE
VERARBEITEN
.
530
18.4
PROGRAMMIERUNG
EINES
EVENTHANDLERS
.
532
18.4.1
BEISPIEL
FUER
EINE
EVENT-AUSWERTUNG
.
533
18.5
BINDEMETHODEN
.
534
18.6
AUFGABEN
.
534
18.7
LOESUNGEN
.
537
19
KOMPLEXE
BENUTZUNGSOBERFLAECHEN
.
543
19.1
TEXT-WIDGETS
.
543
19.1.1
METHODEN
DER
TEXT-WIDGETS
.
544
19.2
ROLLBALKEN
(SCROLLBARS)
.
546
19.3
MENUES
.
547
19.3.1
DIE
KLASSE
MENU
.
548
19.3.2
METHODEN
DER
KLASSE
MENU
.
548
19.4
TEXTEDITOR
MIT
MENUELEISTE
UND
PULLDOWN-MENUE
.
550
19.5
DIALOGBOXEN
.
552
19.6
APPLIKATIONEN
MIT
MEHREREN
FENSTERN
.
556
19.7
AUFGABEN
.
559
19.8
LOESUNGEN
.
560
20
THREADS
.
565
20.1
FUNKTIONEN
IN
EINEM
THREAD
AUSFUEHREN
.
566
20.2
THREAD-OBJEKTE
ERZEUGEN
-
DIE
KLASSE
THREAD
.
568
20.3
AUFGABEN
.
571
20.4
LOESUNGEN
.
572
21
FEHLER
FINDEN
UND
VERMEIDEN
.
577
21.1
TESTEN
VON
BEDINGUNGEN
.
577
21.1.1
AUSNAHMEN
(EXCEPTIONS)
.
577
21.1.2
TESTEN
VON
VOR
UND
NACHBEDINGUNGEN
MIT
ASSERT
.
578
21.1.3
VERTIEFUNG:
PROGRAMMABSTUERZE
OHNE
FEHLERMELDUNG
.
581
21.2
DEBUGGING-MODUS
UND
OPTIMIERTER
MODUS
.
583
21.3
AUSNAHMEN
GEZIELT
AUSLOESEN
.
584
21.4
SELBSTDOKUMENTATION
.
585
21.5
DOKUMENTATION
EINES
PROGRAMMLAUFS
MIT
LOG-DATEIEN
.
587
21.5.1
GRUNDFUNKTIONEN
.
587
14
INHALTSVERZEICHNIS
21.5.2
BEISPIEL:
LOGGING
IN
DER
GUI-PROGRAMMIERUNG
.
588
21.6
VERTIEFUNG:
PROFESSIONELLES
ARBEITEN
MIT
LOGGING
.
589
21.6.1
LOGGING-LEVELS
.
589
21.6.2
LOGGER-OBJEKTE
.
594
21.6.3
DAS
FORMAT
DER
LOGGING-MELDUNGEN
KONFIGURIEREN
.
594
21.7
DEBUGGING
.
596
21.7.1
SCHALTFLAECHEN
DES
DEBUG-CONTROL-FENSTERS
.
597
21.7.2
BREAKPOINTS
.
597
22
DYNAMISCHE
WEBSEITEN
-
CGI
UND
WSGI
.
599
22.1
WIE
FUNKTIONIEREN
DYNAMISCHE
WEBSEITEN?
.
599
22.2
WIE
SPAET
IST
ES?
AUFBAU
EINES
CGI-SKRIPTS
.
601
22.2.1
DIE
AUSGABE
EINES
CGI-SKRIPTS
.
601
22.2.2
WIE
IST
EIN
CGI-SKRIPT
AUFGEBAUT?
.
602
22.2.3
VERWENDUNG
VON
SCHABLONEN
.
603
22.2.4
AUFRUF
MIT
DEM
WEBBROWSER
.
604
22.2.5
EIN
EINFACHER
.
605
22.3
KOMMUNIKATION
UEBER
INTERAKTIVE
WEBSEITEN
.
605
22.3.1
AUFBAU
EINES
HTML-FORMULARS
.
606
22.3.2
EINGABEKOMPONENTEN
IN
EINEM
HTML-FORMULAR
.
608
22.4
VERARBEITUNG
VON
EINGABEDATEN
MIT
FIELDSTORAGE
.
610
22.5
SONDERZEICHENHANDHABEN
.
612
22.6
CGI-SKRIPTE
DEBUGGEN
.
613
22.7
DER
APACHE-WEBSERVER
.
614
22.7.1
DEN
APACHE-SERVER
INSTALLIEREN
.
615
22.7.2
CGI-SKRIPTE
AUF
DEM
APACHE-SERVER
.
616
22.8
DYNAMISCHE
WEBSEITEN
MIT
WSGI
.
616
22.8.1
EINFACHER
GEHT
'
S
NICHT:
EIN
STAND-ALONE-WS
GL-WEBSERVER
MIT
WSGIREF
.
617
22.9
MOD_WSGI
.
618
22.9.1
INSTALLATION
.
618
22.9.2
VORBEREITUNG
.
619
22.9.3
DEN
APACHE-SERVER
KONFIGURIEREN
.
619
22.9.4
EIN
WSGI-SKRIPT
FUER
DEN
APACHE-SERVER
.
621
22.9.5
TIPPS
ZUM
DEBUGGEN
.
621
22.9.6
ZUGRIFF
VON
EINEM
ENTFERNTEN
RECHNER
IM
WLAN
.
622
22.10
VERARBEITUNG
VON
EINGABEDATEN
AUS
FORMULAREN
.
623
22.11
OBJEKTORIENTIERTE
WSGI-SKRIPTE
-
BEISPIEL:
EIN
CHATROOM
.
625
22.11.1
DIE
HTML-SEITEN
.
627
22.11.2
DIE
KLASSEN
FUER
DEN
CHATROOM
.
629
22.11.3
SKRIPT
(TEIL
2):
.
629
22.12
WSGI-SKRIPTE
MIT
COOKIES
.
632
22.12.1
BESUCHE
ZAEHLEN
.
633
15
INHALTSVERZEICHNIS
23
INTERNET-PROGRAMMIERUNG
.
641
23.1
WAS
IST
EIN
PROTOKOLL?
.
641
23.2
UEBERTRAGUNG
VON
DATEIEN
MIT
FTP
.
642
23.2.1
DAS
MODUL
FTPLIB
.
642
23.2.2
NAVIGIEREN
UND
DOWNLOADEN
.
643
23.2.3
EIN
SUCHROBOTER
FUER
FTP-SERVER
.
645
23.3
ZUGRIFFAUFWEBSEITEN
MIT
HTTP
UND
HTTPS
.
649
23.3.1
AUTOMATISCHE
AUSWERTUNG
VON
WEBSEITEN
.
651
23.4
ZUGRIFF
AUF
RESSOURCEN
IM
INTERNET
UEBER
DEREN
URL
.
653
23.4.1
WEBSEITE
HERUNTERLADEN
UND
VERARBEITEN
.
653
23.4.2
PROJEKT:
WIE
WARM
WIRD
ES
HEUTE?
.
654
23.4.3
DATEI
HERUNTERLADEN
UND
SPEICHERN
.
655
23.4.4
PROJEKT:
FILME
HERUNTERLADEN
.
655
23.5
E-MAILS
SENDEN
MIT
SMTP
.
657
23.6
AUFGABEN
.
660
23.7
LOESUNGEN
.
661
24
DATENBANKEN
.
669
24.1
WAS
IST
EIN
DATENBANKSYSTEM?
.
669
24.2
ENTITY-RELATIONSHIP-DIAGRAMME
(ER-DIAGRAMME)
.
670
24.3
RELATIONALE
DATENBANKEN
.
671
24.4
DARSTELLUNG
VON
RELATIONEN
ALS
MENGEN
ODER
DICTIONARIES
.
672
24.5
DAS
MODUL
SQLITE3
.
673
24.5.1
BEISPIEL:
TELEFONBUCH
.
673
24.5.2
EINE
TABELLE
ANLEGEN
.
674
24.5.3
ANFRAGEN
AN
EINE
DATENBANK
.
675
24.5.4
DATENSUCHE
IM
INTERAKTIVEN
MODUS
.
676
24.5.5
SQL-ANWEISUNGEN
MIT
VARIABLEN
TEILEN
.
678
24.5.6
VERTIEFUNG:
SQL-INJECTION
.
680
24.6
ONLINE-REDAKTIONSSYSTEM
MIT
DATENBANKANBINDUNG
.
681
24.6.1
OBJEKTORIENTIERTE
ANALYSE
(OOA)
.
683
24.6.2
OBJEKTORIENTIERTER
ENTWURF
DES
SYSTEMS
(OOD)
.
684
24.6.3
HINTERGRUND:
AUTHENTIFIZIEREN
MIT
SHA-256
.
686
24.6.4
IMPLEMENTIERUNG
DES
REDAKTIONSSYSTEMS
MIT
PYTHON
(OOP)
.
687
24.7
AUFGABEN
.
697
24.8
LOESUNGEN
.
698
25
TESTEN
UND
TUNING
.
701
25.1
AUTOMATISIERTES
TESTEN
.
701
25.2
TESTEN
MIT
DOCSTRINGS
-
DAS
MODUL
DOCTEST
.
701
25.3
PRAXISBEISPIEL:
SUCHE
NACH
DEM
WORT
DES
JAHRES
.
704
25.4
KLASSEN
TESTEN
MIT
DOCTEST
.
711
25.4.1
WIE
TESTET
MAN
EINE
KLASSE?
.
711
25.4.2
NORMALISIERTE
WHITESPACES
-
DOCTEST-DIREKTIVEN
.
712
25.4.3
ELLIPSEN
VERWENDEN
.
712
16
INHALTSVERZEICHNIS
25.4.4
DICTIONARIES
TESTEN
.
713
25.5
GESTALTUNG
VON
TESTREIHEN
MIT
UNITTEST
.
713
25.5.1
EINFUEHRENDES
BEISPIEL
MIT
EINEM
TESTFALL
.
714
25.5.2
KLASSEN
DES
MODULS
UNITTEST
.
715
25.5.3
WEITERFUEHRENDES
BEISPIEL
.
718
25.6
TUNING
.
721
25.6.1
PERFORMANCE-ANALYSE
MIT
DEM
PROFILER
.
721
25.6.2
PRAXISBEISPIEL:
AUSWERTUNG
ASTRONOMISCHER
FOTOGRAFIEN
.
723
25.6.3
PERFORMANCE-ANALYSE
UND
TUNING
.
729
25.7
AUFGABEN
.
730
25.8
LOESUNGEN
.
732
26
XML
UND
JSON
.
739
26.1
WAS
IST
XML?
.
739
26.2
XML-DOKUMENTE
.
740
26.3
EIN
XML-DOKUMENT
ALS
BAUM
.
742
26.4
DOM
.
743
26.5
DAS
MODUL
XML.DOM.MINIDOM
.
746
26.5.1
XML-DOKUMENTE
UND
DOM-OBJEKTE
.
746
26.5.2
DIE
BASISKLASSE
NODE
.
748
26.5.3
DIE
KLASSEN
DOCUMENT,
ELEMENT
UND
TEXT
.
750
26.6
ATTRIBUTE
VON
XML-ELEMENTEN
.
752
26.7
ANWENDUNGSBEISPIEL
1:
EINE
XML-BASIERTE
KLASSE
.
752
26.8
ANWENDUNGSBEISPIEL
2:
DATENKOMMUNIKATION
MIT
XML
.
755
26.8.1
UEBERBLICK
.
756
26.8.2
DAS
CLIENT-PROGRAMM
.
757
26.8.3
DAS
SERVER-PROGRAMM
.
760
26.9
JSON
.
764
26.9.1
JSON-TEXTE
DECODIEREN
.
765
26.9.2
DECODIERUNGSFEHLER
.
766
26.9.3
EIN
DICTIONARY
ALS
JSON-OBJEKT
SPEICHERN:
KOMPAKT
ODER
GUT
LESBAR?
.
766
26.9.4
PROJEKT:
VERARBEITUNG
VON
WETTERDATEN
.
769
26.10
AUFGABEN
.
772
26.11
LOESUNGEN
.
773
27
MODELLIEREN
MIT
KELLERN,
SCHLANGEN
UND
GRAPHEN.
775
27.1
STACK
(KELLER,
STAPEL)
.
775
27.2
QUEUE
(SCHLANGE)
.
778
27.3
GRAPHEN
.
779
27.4
AUFGABEN
.
789
27.5
LOESUNGEN
.
791
28
BENUTZUNGSOBERFLAECHEN
MIT
QT
.
795
28.1
WAS
BIETET
PYQT5?
.
795
28.2
PYQT5
ERKUNDEN
.
796
17
INHALTSVERZEICHNIS
28.3
WIE
ARBEITET
PYQT?
APPLIKATION
UND
FENSTER
.
796
28.4
EINE
OBJEKTORIENTIERTE
ANWENDUNG
MIT
.
797
28.5
EINWEBBROWSER
.
798
28.6
INTERAKTIVE
WIDGETS
.
802
28.7
LABEL
-
AUSGABE
VON
TEXT
UND
BILD
.
803
28.8
SIGNALE
.
804
28.9
CHECKBOXEN
UND
RADIOBUTTONS
.
805
28.10
AUSWAHLLISTE
(COMBOBOX)
.
808
28.11
GEMEINSAME
OPERATIONEN
DER
WIDGETS
.
810
28.12
SPEZIELLE
METHODEN
EINES
FENSTERS
.
811
28.13
EVENTS
.
813
28.14
FONTS
.
814
28.15
STYLESHEETS
.
816
28.16
ICONS
.
819
28.17
MESSAGEBOXEN
.
819
28.18
TIMER
.
820
28.19
DAS
QT-LAYOUT
UNTER
DER
LUPE
.
822
28.19.1
ABSOLUTE
POSITIONIERUNG
UND
GROESSE
.
822
28.19.2
RASTER-LAYOUT.
824
28.19.3
FORM-LAYOUT
.
825
28.20
BROWSER
FUER
JEDEN
ZWECK
.
827
28.20.1
DIE
KLASSE
QWEBENGINEVIEW
.
827
28.21
EIN
WEBBROWSER
MIT
FILTER
.
828
28.22
SURFEN
MIT
GESCHICHTE
-
DER
VERLAUF
EINER
SITZUNG
.
830
28.23
AUFGABEN
.
832
28.24
LOESUNGEN
.
833
29
MULTIMEDIAANWENDUNGEN
MIT
QT
.
837
29.1
KALENDER
UND
TEXTFELD
-
EIN
DIGITALES
TAGEBUCH
.
837
29.1.1
PROGRAMMIERUNG
.
838
29.2
KAMERABILDER
.
843
29.3
DIALOGE
.
845
29.3.1
PROJEKT:
ANSICHTSKARTE
.
847
29.4
VIDEOPLAYER
.
851
29.4.1
EIN
EINFACHER
VIDEOPLAYER
.
851
29.4.2
VIDEOPLAYER
MIT
PLAYLIST
.
855
29.4.3
REGELN
ZUR
AENDERUNG
DER
GROESSE
(SIZE
POLICY)
.
858
29.4.4
DAS
DASHBOARD
BEI
MAUSBEWEGUNGEN
EINBLENDEN
.
859
29.5
AUFGABEN
.
862
29.6
LOESUNGEN
.
867
30
RECHNEN
MIT
NUMPY
.
875
30.1
NUMPY
INSTALLIEREN
.
875
30.2
ARRAYS
ERZEUGEN
.
875
30.2.1
ARRAYS
.
875
18
INHALTSVERZEICHNIS
30.2.2
MATRIZEN
UND
VEKTOREN
.
878
30.2.3
ZAHLENFOLGEN
.
878
30.2.4
ZUFALLSARRAYS
.
879
30.2.5
SPEZIELLE
ARRAYS
.
880
30.3
INDIZIEREN
.
881
30.4
SLICING
.
882
30.5
ARRAYS
VERAENDERN
.
883
30.6
ARITHMETISCHE
OPERATIONEN
.
885
30.7
FUNKTIONEN,
DIE
ELEMENTWEISE
AUSGEFUEHRT
WERDEN
.
886
30.8
EINFACHE
VISUALISIERUNG
.
887
30.9
MATRIZENMULTIPLIKATION
MIT
DOT()
.
888
30.10
ARRAY-FUNKTIONEN
UND
ACHSEN
.
889
30.11
PROJEKT:
DIFFUSION
.
891
30.12
VERGLEICHE
.
894
30.13
PROJEKT:
WOLKEN
AM
HIMMEL
.
894
30.14
PROJEKT:
WIE
VERSTECKT
MAN
EIN
BUCH
IN
EINEM
BILD?
.
897
30.15
DATENANALYSE
MIT
HISTOGRAMMEN
.
900
30.16
WIE
FUNKTIONIERT
EIN
MEDIANFILTER?
.
903
30.17
RECHNEN
MIT
SCIPY.
906
30.17.1
LINEARE
GLEICHUNGSSYSTEME
LOESEN
.
906
30.17.2
INTEGRATION
.
908
30.18
AUFGABEN
.
909
30.19
LOESUNGEN
.
912
31
MESSDATEN
VERARBEITEN
.
917
31.1
MESSWERTE
IN
EINEM
DIAGRAMM
DARSTELLEN
-
MATPLOTLIB
UND
TKINTER
.
917
31.1.1
BASISPROJEKT
.
917
31.1.2
ERWEITERUNG:
DEN
LETZTEN
WERT
LOESCHEN
.
921
31.1.3
DAS
AUSSEHEN
EINES
DIAGRAMMS
GESTALTEN
.
923
31.2
MESSWERTE
AUS
EINEM
MULTIMETER
LESEN
UND
DARSTELLEN
.
926
31.2.1
VORBEREITUNG
.
926
31.2.2
WERTE
AUSLESEN
.
927
31.2.3
WELCHE
ZIFFERN
ZEIGT
DAS
DISPLAY
DES
MULTIMETERS?
.
930
31.3
ANZEIGE
DER
TEMPERATUR
.
934
31.4
MESSREIHEN
AUFZEICHNEN
.
936
31.5
AUFGABE
.
939
31.6
LOESUNG
.
939
32
PARALLELE
DATENVERARBEITUNG.
943
32.1
WAS
SIND
PARALLELE
PROGRAMME?
.
943
32.2
PROZESSE
STARTEN
UND
ABBRECHEN
.
944
32.3
FUNKTIONEN
IN
EIGENEN
PROZESSEN
STARTEN
.
945
32.4
PROZESSE
ZUSAMMENFUEHREN
-
JOIN()
.
947
32.5
WIE
KOENNEN
PROZESSE
OBJEKTE
AUSTAUSCHEN?
.
948
32.5.1
OBJEKTE
ALS
ARGUMENTE
UEBERGEBEN
.
948
19
INHALTSVERZEICHNIS
32.5.2
OBJEKTE
UEBER
EINE
PIPE
SENDEN
UND
EMPFANGEN
.
949
32.5.3
OBJEKTE
UEBER
EINE
QUEUE
AUSTAUSCHEN
.
950
32.6
DATEN
IM
POOL
BEARBEITEN
.
951
32.6.1
MIT
DEM
POOL
GEHT
'
S
SCHNELLER
-
EIN
ZEITEXPERIMENT
.
951
32.6.2
FORSCHEN
MIT
BIG
DATA
AUS
DEM
INTERNET
.
953
32.7
SYNCHRONISATION
.
956
32.8
PRODUZENTEN
UND
KONSUMENTEN
.
958
32.8.1
SPRUECHEKLOPFER
.
959
32.9
AUFGABEN
.
961
32.10
LOESUNGEN
.
962
33
DJANGO
.
967
33.1
DJANGO
AUS
DER
VOGELPERSPEKTIVE
.
967
33.2
EIN
PROJEKT
ANLEGEN
.
968
33.2.1
DEN
SERVER
STARTEN
.
970
33.2.2
EINE
NEUE
APPLIKATION
ANLEGEN
.
970
33.2.3
STARTSEITE
UND
VIEW
EINRICHTEN
.
971
33.3
DATENBANKANBINDUNG
.
974
33.4
MODELLE
ERSTELLEN
.
974
33.5
MODELLE
AKTIVIEREN
.
976
33.6
IN
DER
PYTHON-SHELL
DIE
DATENBANK
BEARBEITEN
.
979
33.6.1
OBJEKTE
DURCH
AUFRUF
DER
KLASSE
ERZEUGEN
.
980
33.6.2
AUF
ATTRIBUTE
EINES
OBJEKTS
ZUGREIFEN
.
981
33.6.3
OBJEKTE
FINDEN
.
981
33.6.4
OBJEKTE
ERZEUGEN
UND
BEZIEHUNGEN
HERSTELLEN
.
982
33.6.5
DEN
BEZIEHUNGSMANAGER
NUTZEN
.
983
33.6.6
OBJEKTE
LOESCHEN
.
983
33.7
DJANGO-MODELLE
UNTER
DER
LUPE
.
984
33.7.1
GRENZWERTE
.
984
33.7.2
LEERE
FELDER
.
985
33.7.3
VOREINGESTELLTE
WERTE
.
985
33.7.4
EINMALIGKEIT
.
985
33.7.5
AUSWAHLMOEGLICHKEITEN
.
985
33.8
DER
MANAGER
UNTER
DER
LUPE
-
OBJEKTE
ERZEUGEN
UND
SUCHEN
.
986
33.8.1
OBJEKTE
ERZEUGEN
.
986
33.8.2
OBJEKTE
FINDEN
.
986
33.8.3
MEHRERE
BEDINGUNGEN
.
987
33.8.4
SUCHEN
UEBER
BEZIEHUNGEN
.
988
33.8.5
WEITERE
SUCHMETHODEN
.
988
33.9
ADMINISTRATION
.
989
33.9.1
EINE
APPLIKATION
DER
WEBSITE-VERWALTUNG
ZUGAENGLICH
MACHEN
.
991
33.10
VIEWS
EINRICHTEN
-
DIE
GRUNDSTRUKTUR
.
995
33.10.1
WAS
SIND
VIEWS?
.
995
33.10.2
FUNKTIONEN
FUER
VIEWS
.
995
33.10.3
URL-PATTERNS
.
996
20
INHALTSVERZEICHNIS
33.11
VIEW-FUNKTIONEN
ERWEITERN
.
997
33.11.1
STARTSEITE
.
998
33.11.2
AUFLISTUNG
DER
IDEEN
ZU
EINER
FRAGE
-
QUESTION_INDEX
.
1001
33.11.3
DIE
TEMPLATES
VERBESSERN:
NAMEN
STATT
EXPLIZITER
URLS
.
1003
33.12
INTERAKTIVE
WEBSEITEN
-
VIEWS
MIT
FORMULAREN
.
1004
33.12.1
EINGABE
EINER
NEUEN
FRAGE
.
1004
33.12.2
EINGABE
EINER
NEUEN
IDEE
.
1010
33.12.3
VIEW-FUNKTION
FUER
DAS
SPEICHERN
EINER
NEUEN
IDEE
.
1012
33.12.4
FERTIG!
.
1013
33.13
DIE
NAECHSTEN
SCHRITTE
.
1013
33.14
AUFGABE
.
1014
33.15
LOESUNG
.
1015
A
ANHANG
.
1019
A.L
CODIERUNG
VON
SONDERZEICHEN
IN
HTML
.
1019
A.2
QUELLEN
IM
WWW
.
1019
A.3
STANDARDFUNKTIONEN
UND
STANDARDKLASSEN
.
1020
A.4
MATHEMATISCHE
FUNKTIONEN
.
1022
A.4.1
DAS
MODUL
MATH
.
1022
A.4.2
DAS
MODUL
RANDOM
.
1023
A.5
EBNF-GRAMMATIK
.
1024
B
GLOSSAR
.
1029
C
DOWNLOAD
DER
PROGRAMMBEISPIELE.
1043
D
EIN
PYTHON-MODUL
VEROEFFENTLICHEN:
PYPI
.
1045
D.1
BEI
PYPI
UND
TESTPYPI
REGISTRIEREN
.
1046
D.2
EIN
PAKET
FUER
DIE
VEROEFFENTLICHUNG
VORBEREITEN
.
1047
D.2.1
DIE
PROGRAMMDATEI
SETUP.PY
.
1047
D.2.
2
DIE
LIZENZ
.
1048
D.2.3
DIE
DATEI
README.TXT
.
1049
D.2.4
DIE
DATEI
_
INIT
_
.PY
.
1050
D.3
DAS
PAKET
AUF
PYPI
VEROEFFENTLICHEN
.
1050
D.3.1
DAS
PAKET
AKTUALISIEREN
.
1051
STICHWORTVERZEICHNIS.
1053
21 |
adam_txt |
INHALTSVERZEICHNIS
EINLEITUNG
.
23
WARUM
PYTHON?
.
23
PYTHON
3
.
23
AN
WEN
WENDET
SICH
DIESES
BUCH?
.
23
INHALT
UND
AUFBAU
.
24
HINWEISE
ZUR
TYPOGRAPHIE
.
25
PROGRAMMBEISPIELE
.
26
1
GRUNDLAGEN
.
27
1.1
WAS
IST
PROGRAMMIEREN?
.
27
1.2
HARDWARE
UND
SOFTWARE.
28
1.3
PROGRAMM
ALS
ALGORITHMUS
.
29
1.4
SYNTAX
UND
SEMANTIK
.
30
1.5
INTERPRETER
UND
COMPILER
.
30
1.6
PROGRAMMIERPARADIGMEN
.
32
1.7
OBJEKTORIENTIERTE
PROGRAMMIERUNG
.
33
1.7.1
STRUKTURELLE
ZERLEGUNG
.
33
1.7.2
DIE
WELT
ALS
SYSTEM
VON
OBJEKTEN
.
34
1.7.3
OBJEKTE
BESITZEN
ATTRIBUTE
UND
BEHERRSCHEN
METHODEN
.
35
1.7.4
OBJEKTE
SIND
INSTANZEN
VON
KLASSEN
.
36
1.8
HINTERGRUND:
GESCHICHTE
DER
OBJEKTORIENTIERTEN
PROGRAMMIERUNG
.
36
1.9
AUFGABEN
.
.
37
1.10
LOESUNGEN
.
38
2
DER
EINSTIEG
-
PYTHON
IM
INTERAKTIVEN
MODUS
.
39
2.1
PYTHON
INSTALLIEREN
.
39
2.2
PYTHON
IM
INTERAKTIVEN
MODUS
.
42
2.2.1
START
DES
PYTHON-INTERPRETERS
IN
EINEM
KONSOLENFENSTER
.
42
2.2.2
DIE
IDLE-SHELL
.
43
2.2.3
DIE
ERSTEN
PYTHON-BEFEHLE
AUSPROBIEREN
.
43
2.2.4
HOTKEYS
.
44
2.3
OBJEKTE
.
45
2.4
NAMEN
.
47
2.5
HINTERGRUND:
SYNTAX-REGELN
FUER
BEZEICHNER
.
47
2.6
SCHLUESSELWOERTER
.
48
2.7
ANWEISUNGEN
.
49
2.7.1
AUSDRUCKANWEISUNGEN
.
50
2.7.2
IMPORT-ANWEISUNGEN
.
54
2.7.3
ZUWEISUNGEN
.
55
2.7.4
ERWEITERTE
ZUWEISUNGEN
.
59
INHALTSVERZEICHNIS
2.7.5
HINTERGRUND:
DYNAMISCHE
TYPISIERUNG
.
59
2.8
AUFGABEN
.
60
2.9
LOESUNGEN
.
62
3
PYTHON-SKRIPTE
.
65
3.1
AUSPROBIEREN,
NACHMACHEN,
BESSER
MACHEN!
.
65
3.2
SKRIPTE
EDITIEREN
UND
AUSFUEHREN
MIT
IDLE
.
65
3.3
AUSFUEHREN
EINES
PYTHON-SKRIPTS
.
67
3.4
KOMMENTARE
.
69
3.5
DIE
ZEILENSTRUKTUR
VON
PYTHON-PROGRAMMEN
.
70
3.6
DAS
EVA-PRINZIP
.
73
3.7
PHASEN
DER
PROGRAMMENTWICKLUNG
.
75
3.8
GUTER
PROGRAMMIERSTIL
.
76
3.9
HINTERGRUND:
DIE
KUNST
DES
FEHLERFINDENS
.
78
3.10
WEITERE
ENTWICKLUNGSUMGEBUNGEN
FUER
PYTHON
.
80
3.10.1
THONNY
-
EINE
ENTWICKLUNGSUMGEBUNG
FUER
PYTHON-EINSTEIGER
.
80
3.10.2
PYTHON
IN
DER
CLOUD
.
81
3.10.3
JUPYTER
NOTEBOOK
UND
GOOGLE
COLAB
.
82
3.10.4
ENTWICKLUNGSUMGEBUNGEN
FUER
PROFIS
.
82
3.11
AUFGABEN
.
83
3.12
LOESUNGEN
.
84
4
STANDARD-DATENTYPEN
.
87
4.1
DATEN
ALS
OBJEKTE
.
87
4.2
FUNDAMENTALE
DATENTYPEN
IM
UEBERBLICK
.
89
4.3
TYPEN
UND
KLASSEN
.
90
4.4
NONETYPE
.
91
4.5
WAHRHEITSWERTE
-
DER
DATENTYP
BOOL
.
91
4.6
GANZE
ZAHLEN
.
92
4.7
GLEITKOMMAZAHLEN
.
94
4.8
KOMPLEXE
ZAHLEN
.
95
4.9
ARITHMETISCHE
OPERATOREN
FUER
ZAHLEN
.
96
4.10
SEQUENZEN
.
101
4.10.1
ZEICHENKETTEN
(STRINGS)
.
102
4.10.2
BYTESTRINGS
.
104
4.10.3
TUPEL
.
105
4.10.4
LISTE
.
106
4.10.5
BYTEARRAY
.
107
4.10.6
EINIGE
GRUNDOPERATIONEN
FUER
SEQUENZEN
.
107
4.10.7
VERAENDERBARE
UND
UNVERAENDERBARE
SEQUENZEN
.
109
4.11
MENGEN
.
110
4.12
DICTIONARIES
.
111
4.13
TYPUMWANDLUNGEN
.
111
4.13.1
INT()
.
113
4.13.2
FLOAT()
.
113
6
INHALTSVERZEICHNIS
4.13.3
.
.
114
4.13.4
BOOL()
.
114
4.13.5
STR()
.
114
4.13.6
DICT(),
LIST()
UND
TUPLE()
.
115
4.14
AUFGABEN
.
115
4.15
LOESUNGEN
.
118
5
KONTROLLSTRUKTUREN
.
123
5.1
EINFACHE
BEDINGUNGEN
.
123
5.1.1
VERGLEICHE
.
123
5.1.2
ZUGEHOERIGKEIT
ZU
EINER
MENGE
(IN,
NOT
IN)
.
127
5.1.3
BELIEBIGE
AUSDRUECKE
ALS
BEDINGUNGEN
.
127
5.2
ZUSAMMENGESETZTE
BEDINGUNGEN
-
LOGISCHE
OPERATOREN
.
128
5.2.1
NEGATION
(NOT)
.
128
5.2.2
KONJUNKTION
(AND)
.
129
5.2.3
DISJUNKTION
(OR)
.
130
5.2.4
FORMALISIERUNG
VON
BEDINGUNGEN
.
131
5.2.5
HINWEIS
ZUM
PROGRAMMIERSTIL
.
132
5.3
PROGRAMMVERZWEIGUNGEN
(BEDINGTE
ANWEISUNGEN)
.
132
5.3.1
EINSEITIGE
VERZWEIGUNG
(IF)
.
133
5.3.2
ZWEISEITIGE
VERZWEIGUNG
(IF-ELSE)
.
133
5.3.3
MEHRFACHE
FALLUNTERSCHEIDUNG
(ELIF)
.
134
5.3.4
BEDINGTE
AUSDRUECKE
.
136
5.4
BEDINGTE
WIEDERHOLUNG
(WHILE)
.
136
5.4.1
ENDLOSSCHLEIFEN
.
137
5.5
ITERATION
UEBER
EINE
KOLLEKTION
(FOR)
.
139
5.5.1
ZAEHLSCHLEIFEN
-
VERWENDUNG
VON
RAENGE
()
.
140
5.5.2
VERSCHACHTELTE
ITERATIONEN
.
141
5.5.3
VERTIEFUNG:
ITERATIVE
BERECHNUNG
REKURSIVER
FOLGEN
.
143
5.6
ABBRUCH
EINER
SCHLEIFE
MIT
BREAK
.
143
5.6.1
ABBRUCH
EINES
SCHLEIFENDURCHLAUFS
MIT
CONTINUE
.
144
5.7
ABFANGEN
VON
AUSNAHMEN
MIT
TRY
.
145
5.7.1
146
5.8
AUFGABEN
.
148
5.9
LOESUNGEN
.
152
6
FUNKTIONEN
.
157
6.1
AUFRUF
VON
FUNKTIONEN
.
157
6.2
DEFINITION
VON
FUNKTIONEN
.
160
6.3
SCHRITTWEISE
VERFEINERUNG
.
162
6.4
AUSFUEHRUNG
VON
FUNKTIONEN
.
166
6.4.1
GLOBALE
UND
LOKALE
NAMEN
.
166
6.4.2
SEITENEFFEKTE
-
DIE
GLOBAL-ANWEISUNG
.
169
6.4.3
PARAMETERUEBERGABE
.
170
7
INHALTSVERZEICHNIS
6.5
VOREINGESTELLTE
PARAMETERWERTE
.
172
6.5.1
SCHLUESSELWORT-ARGUMENTE
.
174
6.6
FUNKTIONEN
MIT
BELIEBIGER
ANZAHL
VON
PARAMETERN
.
176
6.7
LOKALE
FUNKTIONEN
.
177
6.8
REKURSIVE
FUNKTIONEN
.
178
6.9
EXPERIMENTE
ZUR
REKURSION
MIT
DER
TURTLE-GRAFIK
.
180
6.9.1
TURTLE-BEFEHLE
IM
INTERAKTIVEN
MODUS
.
180
6.9.2
EINE
REKURSIVE
SPIRALE
.
181
6.9.3
BAUMSTRUKTUREN
.
183
6.9.4
KUENSTLICHER
BLUMENKOHL
-
SELBSTAEHNLICHE
BILDER
.
184
6.10
REKURSIVE
ZAHLENFUNKTIONEN
.
186
6.11
HINTERGRUND:
WIE
WERDEN
REKURSIVE
FUNKTIONEN
AUSGEFUEHRT?
.
187
6.11.1
EXECUTION
FRAMES
.
187
6.11.2
REKURSIONSTIEFE
.
188
6.12
FUNKTIONEN
ALS
OBJ
EKTE
.
190
6.12.1
HINTERGRUND:
TYPEN
SIND
KEINE
FUNKTIONEN
.
191
6.13
LAMBDA-FORMEN
.
191
6.14
FUNKTIONSANNOTATIONEN:
TYPEN
ZUORDNEN
.
192
6.15
HINWEISE
ZUM
PROGRAMMIERSTIL
.
193
6.15.1
ALLGEMEINES
.
193
6.15.2
FUNKTIONSNAMEN
.
193
6.15.3
KOMMENTIERTE
PARAMETER
.
194
6.15.4
DOCSTRINGS
.
194
6.16
AUFGABEN
.
196
6.17
LOESUNGEN
.
199
7
SEQUENZEN,
MENGEN
UND
GENERATOREN
.
203
7.1
GEMEINSAME
OPERATIONEN
FUER
SEQUENZEN
.
203
7.1.1
ZUGRIFF
AUF
ELEMENTE
EINER
SEQUENZ
.
204
7.1.2
SLICING
VON
SEQUENZEN
.
205
7.1.3
AUSPACKEN
(UNPACKING)
.
206
7.2
VERTIEFUNG:
REKURSIVE
FUNKTIONEN
FUER
SEQUENZEN
.
207
7.2.1
REKURSIVES
SUMMIEREN
.
207
7.2.2
REKURSIVE
SUCHE
.
207
7.3
TUPEL
.
209
7.4
LISTEN
.
210
7.4.1
EINE
LISTE
ERZEUGEN
.
210
7.4.2
EINE
LISTE
VERAENDERN
.
213
7.4.3
FLACHE
UND
TIEFE
KOPIEN
.
215
7.4.4
LISTEN
SORTIEREN
.
216
7.4.5
BINAERE
SUCHE
IN
EINER
SORTIERTEN
LISTE
.
218
7.4.6
ZWEI
SORTIERVERFAHREN
IM
VERGLEICH
.
219
7.4.7
MODELLIEREN
MIT
LISTEN
-
BEISPIEL:
DIE
CHARTS
.
223
7.5
GENERATOREN
.
227
7.5.1
GENERATORAUSDRUECKE
.
228
8
INHALTSVERZEICHNIS
7.5.2
GENERATORFUNKTIONEN
.
228
7.5.3
ITERATOREN
.
230
7.5.4
VERWENDUNG
VON
GENERATOREN
.
231
7.6
MENGEN
.
231
7.6.1
OPERATIONEN
FUER
MENGEN
.
233
7.6.2
MODELLIEREN
MIT
MENGEN
-
BEISPIEL:
GRAPHEN
.
234
7.7
AUFGABEN
.
237
7.8
LOESUNGEN
.
239
8
DICTIONARIES
.
.
241
8.1
OPERATIONEN
FUER
DICTIONARIES
.
241
8.2
WIE
ERSTELLT
MAN
EIN
DICTIONARY?.
242
8.2.1
DEFINITION
MIT
EINEM
DICTIONARY-DISPLAY
.
242
8.2.2
SCHRITTWEISER
AUFBAU
EINES
DICTIONARYS
.
244
8.2.3
EIN
DICTIONARY
AUS
ANDEREN
DICTIONARIES
ZUSAMMENSETZEN
-
UPDATE()
.
245
8.3
ZUGRIFF
AUF
DATEN
IN
EINEM
DICTIONARY
.
245
8.3.1
VERGEBLICHE
ZUGRIFFSVERSUCHE
.
245
8.4
PRAXISBEISPIEL:
VOKABELTRAINER
.
246
8.5
TYPISCHE
FEHLER
.
248
8.6
AUFGABEN
.
248
8.7
LOESUNGEN
.
251
9
EIN
UND
AUSGABE.
255
9.1
STREAMS
.
255
9.1.1
DIE
ROLLE
DER
STREAMS
BEI
E/A-OPERATIONEN
.
255
9.1.2
WAS
IST
EIN
STREAM?
.
256
9.1.3
EINE
DATEI
OEFFNEN
.
257
9.1.4
SPEICHERN
EINER
ZEICHENKETTE
.
258
9.1.5
LADEN
EINER
ZEICHENKETTE
AUS
EINER
DATEI
.
260
9.1.6
ABSOLUTE
UND
RELATIVE
PFADE
.
260
9.1.7
ZWISCHENSPEICHERN,
OHNE
ZU
SCHLIESSEN
.
262
9.1.8
ZUGRIFF
AUF
STREAMS
(LESEN
UND
SCHREIBEN)
.
263
9.2
MEHR
ZUVERLAESSIGKEIT
DURCH
TRY
UND
WITH-ANWEISUNGEN
.
265
9.2.1
.
266
9.2.2
WITH-ANWEISUNGEN
.
267
9.3
OBJEKTE
SPEICHERN
MIT
PICKLE
.
268
9.3.1
FUNKTIONEN
ZUM
SPEICHERN
UND
LADEN
.
268
9.4
DIE
STREAMS
SYS.STDIN
UND
SYS.STDOUT
.
270
9.5
AUSGABE
VON
WERTEN
MIT
DER
PRINT()-FUNKTION
.
271
9.5.1
ANWENDUNG:
AUSGABE
VON
TABELLEN
.
272
9.6
KOMMANDOZEILEN-ARGUMENTE
(OPTIONEN)
.
273
9.6.1
ZUGRIFF
AUF
OPTIONEN
.
274
9.6.2
BEISPIEL
.
274
9.6.3
SKRIPTE
MIT
OPTIONEN
TESTEN
.
275
9
INHALTSVERZEICHNIS
9.7
AUFGABEN
.
275
9.8
LOESUNGEN
.
278
10
DEFINITION
EIGENER
KLASSEN
.
283
10.1
KLASSEN
UND
OBJEKTE
.
283
10.2
DEFINITION
VON
KLASSEN
.
285
10.3
OBJEKTE
(INSTANZEN)
.
287
10.4
ZUGRIFF
AUF
ATTRIBUTE
-
SICHTBARKEIT
.
290
10.4.1
OEFFENTLICHE
ATTRIBUTE
.
290
10.4.2
PRIVATE
ATTRIBUTE
.
291
10.4.3
PROPERTIES
.
293
10.4.4
DYNAMISCHE
ERZEUGUNG
VON
ATTRIBUTEN
.
295
10.5
METHODEN
.
295
10.5.1
POLYMORPHISMUS
-
UEBERLADEN
VON
OPERATOREN
.
296
10.5.2
VERTIEFUNG:
OBJEKTE
AUSFUEHRBAR MACHEN
-
DIE
METHODE
-
CALL_()
.
299
10.5.3
STATISCHE
METHODEN
.
300
10.6
ABSTRAKTION,
VERKAPSELUNG
UND
GEHEIMNISPRINZIP
.
302
10.6.1
ABSTRAKTION
.
302
10.6.2
VERKAPSELUNG
.
302
10.6.3
GEHEIMNISPRINZIP
.
302
10.7
VERERBUNG
.
303
10.7.1
SPEZIALISIERUNGEN
.
303
10.7.2
BEISPIEL:
DIE
KLASSE
KONTO
-
EINE
SPEZIALISIERUNG
DER
KLASSE
GELD
.
304
10.7.3
VERTIEFUNG:
STANDARDKLASSEN
ALS
BASISKLASSEN
.
307
10.8
HINWEISE
ZUM
PROGRAMMIERSTIL
.
309
10.8.1
SCHREIBWEISE
.
309
10.8.2
SICHTBARKEIT
.
309
10.8.3
DOKUMENTATION
VON
KLASSEN
.
310
10.9
TYPISCHE
FEHLER
.
311
10.9.1
VERSEHENTLICHES
ERZEUGEN
NEUER
ATTRIBUTE
.
311
10.9.2
VERWECHSELN
VON
METHODEN
UND
ATTRIBUTEN
.
311
10.10
AUFGABEN
.
312
10.11
LOESUNGEN
.
315
11
KLASSEN
WIEDERVERWENDEN
-
MODULE
.
321
11.1
TESTEN
EINER
KLASSE
IN
EINEM
LAUFFAEHIGEN
STAND-ALONE-SKRIPT
.
321
11.2
MODULE
SPEICHERN
UND
IMPORTIEREN
.
323
11.3
DEN
ZUGANG
ZU
EINEM
MODUL
SICHERSTELLEN
.
325
11.3.1
ERWEITERN
DER
VERZEICHNISLISTE
SYS.PATH
.
325
11.3.2
ANWENDUNGSBEISPIEL:
EINE
INTERAKTIVE
TESTUMGEBUNG
.
325
11.3.3
KOMPILIEREN
VON
MODULEN
.
326
11.4
PROGRAMMIERSTIL:
VERWENDUNG
UND
DOKUMENTATION
VON
MODULEN
.
327
10
INHALTSVERZEICHNIS
12
OBJEKTORIENTIERTES
MODELLIEREN.
329
12.1
PHASEN
EINER
OBJEKTORIENTIERTEN
SOFTWARE-ENTWICKLUNG
.
329
12.1.1
OBJEKTORIENTIERTE
ANALYSE
(OOA)
.
329
12.1.2
OBJEKTORIENTIERTER
ENTWURF
(OOD).
330
12.1.3
OBJEKTORIENTIERTE
PROGRAMMIERUNG
(OOP)
.
330
12.2
BEISPIEL:
MODELL
EINES
WOERTERBUCHS
.
330
12.2.1
OOA:
ENTWICKLUNG
EINER
KLASSENSTRUKTUR
.
330
12.2.2
OOD:
ENTWURF
EINER
KLASSENSTRUKTUR
ZUR
IMPLEMENTIERUNG
IN
PYTHON
.
334
12.2.3
OOP:
IMPLEMENTIERUNG
DER
KLASSENSTRUKTUR
.
336
12.3
ASSOZIATIONEN
ZWISCHEN
KLASSEN
.
340
12.3.1
REFLEXIVE
ASSOZIATIONEN
.
340
12.3.2
AGGREGATION
.
342
12.4
BEISPIEL:
MANAGEMENT
EINES
MUSICALS
.
343
12.4.1
OOA
.
343
12.4.2
OOD
.
345
12.4.3
OOP
.
345
12.5
AUFGABEN
.
355
12.6
LOESUNGEN
.
356
13
TEXTVERARBEITUNG.
361
13.1
STANDARDMETHODEN
ZUR
VERARBEITUNG
VON
ZEICHENKETTEN
.
361
13.1.1
FORMATIEREN
.
362
13.1.2
SCHREIBWEISE
.
362
13.1.3
TESTS
.
363
13.1.4
ENTFERNEN
UND
AUFSPALTEN
.
364
13.1.5
SUCHEN
UND
ERSETZEN
.
365
13.2
CODIERUNG
UND
DECODIERUNG
.
365
13.2.1
PLATONISCHE
ZEICHEN
UND
UNICODE
.
365
13.2.2
VERTIEFUNG:
ZEICHENKETTEN
DURCH
BYTEFOLGEN
DARSTELLEN
.
367
13.3
AUTOMATISCHE
TEXTPRODUKTION
.
369
13.3.1
TEXTE
MIT
VARIABLEN
TEILEN
-
ANWENDUNG
DER
STRING-METHODE
FORMAT()
.
369
13.3.2
VERTIEFUNG:
EINE
TABELLE
ERSTELLEN
.
372
13.3.3
MAHNBRIEFE
.
373
13.3.4
TEXTUELLE
REPRAESENTATION
EINES
OBJEKTS
.
374
13.3.5
F-STRINGS
.
376
13.4
ANALYSE
VON
TEXTEN
.
377
13.4.1
CHAT-BOTS
.
377
13.4.2
TEXTANALYSE
MIT
EINFACHEN
VORKOMMENSTESTS
.
378
13.5
REGULAERE
AUSDRUECKE
.
380
13.5.1
DIE
FUNKTION
FINDALL()
AUS
DEM
MODUL
RE
.
381
13.5.2
AUFBAU
EINES
REGULAEREN
AUSDRUCKS
.
381
13.5.3
OBJEKTE
FUER
REGULAERE
AUSDRUECKE
.
384
13.5.4
STRINGS
UNTERSUCHEN
MIT
SEARCH()
.
385
11
INHALTSVERZEICHNIS
13.5.5
TEXTPASSAGEN
EXTRAHIEREN
MIT
.
386
13.5.6
ZEICHENKETTEN
ZERLEGEN
MIT
SPLIT()
.
387
13.5.7
TEILSTRINGS
ERSETZEN
MIT
SUB()
.
388
13.5.8
MATCH-OBJEKTE
.
389
13.6
DEN
COMPUTER
ZUM
SPRECHEN
BRINGEN
-
SPRACHSYNTHESE
.
391
13.6.1
BUCHSTABIEREN
.
393
13.6.2
DEN
KLANG
DER
STIMME
VERAENDERN
.
395
13.7
AUFGABEN
.
398
13.8
LOESUNGEN
.
401
14
SYSTEMFUNKTIONEN
.
409
14.1
DAS
MODUL
SYS
-
DIE
SCHNITTSTELLE
ZUM
LAUFZEITSYSTEM
.
409
14.1.1
INFORMATIONEN
UEBER
DIE
AKTUELLE
SYSTEMUMGEBUNG
.
410
14.1.2
STANDARDEINGABE
UND-AUSGABE
.
411
14.1.3
DIE
OBJEKTVERWALTUNG
BEOBACHTEN
MIT
GETREFCOUNT()
.
412
14.1.4
AUSFUEHRUNG
EINES
SKRIPTS
BEENDEN
.
413
14.2
DAS
MODUL
OS
-
DIE
SCHNITTSTELLE
ZUM
BETRIEBSSYSTEM
.
413
14.2.1
DATEIEN
UND
VERZEICHNISSE
SUCHEN
.
414
14.2.2
HINTERGRUND:
ZUGRIFFSRECHTE
ABFRAGEN
UND
AENDERN
(WINDOWS
UND
UNIX)
.
415
14.2.3
DATEIEN
UND
VERZEICHNISSE
ANLEGEN
UND
MODIFIZIEREN
.
417
14.2.4
MERKMALE
VON
DATEIEN
UND
VERZEICHNISSEN
ABFRAGEN
.
418
14.2.5
PFADE
VERARBEITEN
.
419
14.2.6
HINTERGRUND:
UMGEBUNGSVARIABLEN
.
421
14.2.7
SYSTEMATISCHES
DURCHLAUFEN
EINES
VERZEICHNISBAUMES
.
422
14.3
DATUM
UND
ZEIT
.
424
14.3.1
FUNKTIONEN
DES
MODULS
TIME
.
425
14.3.2
SEKUNDENFORMAT
.
425
14.3.3
ZEIT-TUPEL
.
426
14.3.4
ZEITSTRINGS
.
427
14.3.5
EINEN
PROZESS
UNTERBRECHEN
MIT
SLEEP()
.
428
14.4
ZEITBERECHNUNGEN
MIT
DEM
MODUL
DATETIME
.
428
14.4.1
DIE
KLASSE
DATETIME
.
428
14.4.2
DIE
ZEITZONE
.
430
14.4.3
DIE
KLASSE
TIMEDELTA
.
431
14.5
AUFGABEN
.
431
14.6
LOESUNGEN
.
432
15
GRAFISCHE
BENUTZUNGSOBERFLAECHEN
MIT
TKINTER
.
437
15.1
EIN
EINFUEHRENDES
BEISPIEL
.
438
15.2
EINFACHE
WIDGETS
.
441
15.3
DIE
MASTER-SLAVE-HIERARCHIE
.
442
15.4
OPTIONEN
DER
WIDGETS
.
443
15.4.1
OPTIONEN
BEI
DER
INSTANZIIERUNG
SETZEN
.
443
15.4.2
WIDGET-OPTIONEN
NACHTRAEGLICH
KONFIGURIEREN
.
.
444
12
INHALTSVERZEICHNIS
15.4.3
FONTS
.
445
15.4.4
FARBEN
.
446
15.4.5
RAHMEN
.
446
15.4.6
DIE
GROESSE
EINES
WIDGETS
.
447
15.4.7
LEERRAUM
UM
TEXT
.
449
15.5
GEMEINSAME
METHODEN
DER
WIDGETS
.
450
15.6
DIE
KLASSE
TK
.
450
15.7
DIE
KLASSE
BUTTON
.
451
15.8
DIE
KLASSE
LABEL
.
451
15.8.1
DYNAMISCHE
KONFIGURATION
DER
BESCHRIFTUNG
.
452
15.8.2
VERWENDUNG
VON
KONTROLLVARIABLEN
.
453
15.9
DIE
KLASSE
ENTRY
.
455
15.10
DIE
KLASSE
RADIOBUTTON
.
457
15.11
DIE
KLASSE
CHECKBUTTON
.
459
15.12
DIE
KLASSE
SCALE
.
461
15.13
DIE
KLASSE
FRAME
.
463
15.14
AUFGABEN
.
463
15.15
LOESUNGEN
.
464
16
LAYOUT
.
469
16.1
DER
PACKER
.
469
16.2
LAYOUT-FEHLER
.
471
16.3
RASTER-LAYOUT
.
472
16.4
VORGEHENSWEISE
BEI
DER
GUI-ENTWICKLUNG
.
476
16.4.1
DIE
BENUTZUNGSOBERFLAECHE
GESTALTEN
.
479
16.4.2
FUNKTIONALITAET
HINZUFUEGEN
.
482
16.5
AUFGABEN
.
483
16.6
LOESUNGEN
.
486
17
GRAFIK
.
497
17.1
DIE
TKINTER-KLASSE
CANVAS
.
497
17.1.1
GENERIERUNG
GRAFISCHER
ELEMENTE
-
ID,
POSITIONIERUNG
UND
DISPLAY-LISTE
.
498
17.1.2
GRAFISCHE
ELEMENTE
GESTALTEN
.
500
17.1.3
VISUALISIEREN
MIT
KREISDIAGRAMMEN
.
502
17.2
DIE
KLASSE
PHOTOIMAGE
.
505
17.2.1
EINE
PIXELGRAFIK
ERZEUGEN
.
506
17.2.2
FOTOS
ANALYSIEREN
UND
VERAENDERN
.
508
17.3
BILDER
IN
EINE
BENUTZUNGSOBERFLAECHE
EINBINDEN
.
511
17.3.1
ICONS
AUF
SCHALTFLAECHEN
.
511
17.3.2
HINTERGRUNDBILDER
.
512
17.3.3
HINTERGRUND:
DAS
PPM-FORMAT
.
514
17.4
DIE
PYTHON
IMAGING
LIBRARY
(PIL)
.
515
17.4.1
INSTALLATION
EINES
MODULS
MIT
PIP
.
515
17.4.2
MIT
PIL
BELIEBIGE
BILDDATEIEN
EINBINDEN
.
516
INHALTSVERZEICHNIS
17.4.3
STEGANOGRAFIE
-
INFORMATIONEN
IN
BILDERN
VERSTECKEN
.
517
17.5
AUFGABEN
.
519
17.6
LOESUNGEN
.
520
18
EVENT-VERARBEITUNG
.
525
18.1
EINFUEHRENDES
BEISPIEL
.
526
18.2
EVENT-SEQUENZEN
.
528
18.2.1
EVENT-TYPEN
.
528
18.2.2
QUALIFIZIERER
FUER
MAUS
UND
TASTATUR-EVENTS
.
528
18.2.3
MODIFIZIERER
.
530
18.3
BEISPIEL:
TASTATUREREIGNISSE
VERARBEITEN
.
530
18.4
PROGRAMMIERUNG
EINES
EVENTHANDLERS
.
532
18.4.1
BEISPIEL
FUER
EINE
EVENT-AUSWERTUNG
.
533
18.5
BINDEMETHODEN
.
534
18.6
AUFGABEN
.
534
18.7
LOESUNGEN
.
537
19
KOMPLEXE
BENUTZUNGSOBERFLAECHEN
.
543
19.1
TEXT-WIDGETS
.
543
19.1.1
METHODEN
DER
TEXT-WIDGETS
.
544
19.2
ROLLBALKEN
(SCROLLBARS)
.
546
19.3
MENUES
.
547
19.3.1
DIE
KLASSE
MENU
.
548
19.3.2
METHODEN
DER
KLASSE
MENU
.
548
19.4
TEXTEDITOR
MIT
MENUELEISTE
UND
PULLDOWN-MENUE
.
550
19.5
DIALOGBOXEN
.
552
19.6
APPLIKATIONEN
MIT
MEHREREN
FENSTERN
.
556
19.7
AUFGABEN
.
559
19.8
LOESUNGEN
.
560
20
THREADS
.
565
20.1
FUNKTIONEN
IN
EINEM
THREAD
AUSFUEHREN
.
566
20.2
THREAD-OBJEKTE
ERZEUGEN
-
DIE
KLASSE
THREAD
.
568
20.3
AUFGABEN
.
571
20.4
LOESUNGEN
.
572
21
FEHLER
FINDEN
UND
VERMEIDEN
.
577
21.1
TESTEN
VON
BEDINGUNGEN
.
577
21.1.1
AUSNAHMEN
(EXCEPTIONS)
.
577
21.1.2
TESTEN
VON
VOR
UND
NACHBEDINGUNGEN
MIT
ASSERT
.
578
21.1.3
VERTIEFUNG:
PROGRAMMABSTUERZE
OHNE
FEHLERMELDUNG
.
581
21.2
DEBUGGING-MODUS
UND
OPTIMIERTER
MODUS
.
583
21.3
AUSNAHMEN
GEZIELT
AUSLOESEN
.
584
21.4
SELBSTDOKUMENTATION
.
585
21.5
DOKUMENTATION
EINES
PROGRAMMLAUFS
MIT
LOG-DATEIEN
.
587
21.5.1
GRUNDFUNKTIONEN
.
587
14
INHALTSVERZEICHNIS
21.5.2
BEISPIEL:
LOGGING
IN
DER
GUI-PROGRAMMIERUNG
.
588
21.6
VERTIEFUNG:
PROFESSIONELLES
ARBEITEN
MIT
LOGGING
.
589
21.6.1
LOGGING-LEVELS
.
589
21.6.2
LOGGER-OBJEKTE
.
594
21.6.3
DAS
FORMAT
DER
LOGGING-MELDUNGEN
KONFIGURIEREN
.
594
21.7
DEBUGGING
.
596
21.7.1
SCHALTFLAECHEN
DES
DEBUG-CONTROL-FENSTERS
.
597
21.7.2
BREAKPOINTS
.
597
22
DYNAMISCHE
WEBSEITEN
-
CGI
UND
WSGI
.
599
22.1
WIE
FUNKTIONIEREN
DYNAMISCHE
WEBSEITEN?
.
599
22.2
WIE
SPAET
IST
ES?
AUFBAU
EINES
CGI-SKRIPTS
.
601
22.2.1
DIE
AUSGABE
EINES
CGI-SKRIPTS
.
601
22.2.2
WIE
IST
EIN
CGI-SKRIPT
AUFGEBAUT?
.
602
22.2.3
VERWENDUNG
VON
SCHABLONEN
.
603
22.2.4
AUFRUF
MIT
DEM
WEBBROWSER
.
604
22.2.5
EIN
EINFACHER
.
605
22.3
KOMMUNIKATION
UEBER
INTERAKTIVE
WEBSEITEN
.
605
22.3.1
AUFBAU
EINES
HTML-FORMULARS
.
606
22.3.2
EINGABEKOMPONENTEN
IN
EINEM
HTML-FORMULAR
.
608
22.4
VERARBEITUNG
VON
EINGABEDATEN
MIT
FIELDSTORAGE
.
610
22.5
SONDERZEICHENHANDHABEN
.
612
22.6
CGI-SKRIPTE
DEBUGGEN
.
613
22.7
DER
APACHE-WEBSERVER
.
614
22.7.1
DEN
APACHE-SERVER
INSTALLIEREN
.
615
22.7.2
CGI-SKRIPTE
AUF
DEM
APACHE-SERVER
.
616
22.8
DYNAMISCHE
WEBSEITEN
MIT
WSGI
.
616
22.8.1
EINFACHER
GEHT
'
S
NICHT:
EIN
STAND-ALONE-WS
GL-WEBSERVER
MIT
WSGIREF
.
617
22.9
MOD_WSGI
.
618
22.9.1
INSTALLATION
.
618
22.9.2
VORBEREITUNG
.
619
22.9.3
DEN
APACHE-SERVER
KONFIGURIEREN
.
619
22.9.4
EIN
WSGI-SKRIPT
FUER
DEN
APACHE-SERVER
.
621
22.9.5
TIPPS
ZUM
DEBUGGEN
.
621
22.9.6
ZUGRIFF
VON
EINEM
ENTFERNTEN
RECHNER
IM
WLAN
.
622
22.10
VERARBEITUNG
VON
EINGABEDATEN
AUS
FORMULAREN
.
623
22.11
OBJEKTORIENTIERTE
WSGI-SKRIPTE
-
BEISPIEL:
EIN
CHATROOM
.
625
22.11.1
DIE
HTML-SEITEN
.
627
22.11.2
DIE
KLASSEN
FUER
DEN
CHATROOM
.
629
22.11.3
SKRIPT
(TEIL
2):
.
629
22.12
WSGI-SKRIPTE
MIT
COOKIES
.
632
22.12.1
BESUCHE
ZAEHLEN
.
633
15
INHALTSVERZEICHNIS
23
INTERNET-PROGRAMMIERUNG
.
641
23.1
WAS
IST
EIN
PROTOKOLL?
.
641
23.2
UEBERTRAGUNG
VON
DATEIEN
MIT
FTP
.
642
23.2.1
DAS
MODUL
FTPLIB
.
642
23.2.2
NAVIGIEREN
UND
DOWNLOADEN
.
643
23.2.3
EIN
SUCHROBOTER
FUER
FTP-SERVER
.
645
23.3
ZUGRIFFAUFWEBSEITEN
MIT
HTTP
UND
HTTPS
.
649
23.3.1
AUTOMATISCHE
AUSWERTUNG
VON
WEBSEITEN
.
651
23.4
ZUGRIFF
AUF
RESSOURCEN
IM
INTERNET
UEBER
DEREN
URL
.
653
23.4.1
WEBSEITE
HERUNTERLADEN
UND
VERARBEITEN
.
653
23.4.2
PROJEKT:
WIE
WARM
WIRD
ES
HEUTE?
.
654
23.4.3
DATEI
HERUNTERLADEN
UND
SPEICHERN
.
655
23.4.4
PROJEKT:
FILME
HERUNTERLADEN
.
655
23.5
E-MAILS
SENDEN
MIT
SMTP
.
657
23.6
AUFGABEN
.
660
23.7
LOESUNGEN
.
661
24
DATENBANKEN
.
669
24.1
WAS
IST
EIN
DATENBANKSYSTEM?
.
669
24.2
ENTITY-RELATIONSHIP-DIAGRAMME
(ER-DIAGRAMME)
.
670
24.3
RELATIONALE
DATENBANKEN
.
671
24.4
DARSTELLUNG
VON
RELATIONEN
ALS
MENGEN
ODER
DICTIONARIES
.
672
24.5
DAS
MODUL
SQLITE3
.
673
24.5.1
BEISPIEL:
TELEFONBUCH
.
673
24.5.2
EINE
TABELLE
ANLEGEN
.
674
24.5.3
ANFRAGEN
AN
EINE
DATENBANK
.
675
24.5.4
DATENSUCHE
IM
INTERAKTIVEN
MODUS
.
676
24.5.5
SQL-ANWEISUNGEN
MIT
VARIABLEN
TEILEN
.
678
24.5.6
VERTIEFUNG:
SQL-INJECTION
.
680
24.6
ONLINE-REDAKTIONSSYSTEM
MIT
DATENBANKANBINDUNG
.
681
24.6.1
OBJEKTORIENTIERTE
ANALYSE
(OOA)
.
683
24.6.2
OBJEKTORIENTIERTER
ENTWURF
DES
SYSTEMS
(OOD)
.
684
24.6.3
HINTERGRUND:
AUTHENTIFIZIEREN
MIT
SHA-256
.
686
24.6.4
IMPLEMENTIERUNG
DES
REDAKTIONSSYSTEMS
MIT
PYTHON
(OOP)
.
687
24.7
AUFGABEN
.
697
24.8
LOESUNGEN
.
698
25
TESTEN
UND
TUNING
.
701
25.1
AUTOMATISIERTES
TESTEN
.
701
25.2
TESTEN
MIT
DOCSTRINGS
-
DAS
MODUL
DOCTEST
.
701
25.3
PRAXISBEISPIEL:
SUCHE
NACH
DEM
WORT
DES
JAHRES
.
704
25.4
KLASSEN
TESTEN
MIT
DOCTEST
.
711
25.4.1
WIE
TESTET
MAN
EINE
KLASSE?
.
711
25.4.2
NORMALISIERTE
WHITESPACES
-
DOCTEST-DIREKTIVEN
.
712
25.4.3
ELLIPSEN
VERWENDEN
.
712
16
INHALTSVERZEICHNIS
25.4.4
DICTIONARIES
TESTEN
.
713
25.5
GESTALTUNG
VON
TESTREIHEN
MIT
UNITTEST
.
713
25.5.1
EINFUEHRENDES
BEISPIEL
MIT
EINEM
TESTFALL
.
714
25.5.2
KLASSEN
DES
MODULS
UNITTEST
.
715
25.5.3
WEITERFUEHRENDES
BEISPIEL
.
718
25.6
TUNING
.
721
25.6.1
PERFORMANCE-ANALYSE
MIT
DEM
PROFILER
.
721
25.6.2
PRAXISBEISPIEL:
AUSWERTUNG
ASTRONOMISCHER
FOTOGRAFIEN
.
723
25.6.3
PERFORMANCE-ANALYSE
UND
TUNING
.
729
25.7
AUFGABEN
.
730
25.8
LOESUNGEN
.
732
26
XML
UND
JSON
.
739
26.1
WAS
IST
XML?
.
739
26.2
XML-DOKUMENTE
.
740
26.3
EIN
XML-DOKUMENT
ALS
BAUM
.
742
26.4
DOM
.
743
26.5
DAS
MODUL
XML.DOM.MINIDOM
.
746
26.5.1
XML-DOKUMENTE
UND
DOM-OBJEKTE
.
746
26.5.2
DIE
BASISKLASSE
NODE
.
748
26.5.3
DIE
KLASSEN
DOCUMENT,
ELEMENT
UND
TEXT
.
750
26.6
ATTRIBUTE
VON
XML-ELEMENTEN
.
752
26.7
ANWENDUNGSBEISPIEL
1:
EINE
XML-BASIERTE
KLASSE
.
752
26.8
ANWENDUNGSBEISPIEL
2:
DATENKOMMUNIKATION
MIT
XML
.
755
26.8.1
UEBERBLICK
.
756
26.8.2
DAS
CLIENT-PROGRAMM
.
757
26.8.3
DAS
SERVER-PROGRAMM
.
760
26.9
JSON
.
764
26.9.1
JSON-TEXTE
DECODIEREN
.
765
26.9.2
DECODIERUNGSFEHLER
.
766
26.9.3
EIN
DICTIONARY
ALS
JSON-OBJEKT
SPEICHERN:
KOMPAKT
ODER
GUT
LESBAR?
.
766
26.9.4
PROJEKT:
VERARBEITUNG
VON
WETTERDATEN
.
769
26.10
AUFGABEN
.
772
26.11
LOESUNGEN
.
773
27
MODELLIEREN
MIT
KELLERN,
SCHLANGEN
UND
GRAPHEN.
775
27.1
STACK
(KELLER,
STAPEL)
.
775
27.2
QUEUE
(SCHLANGE)
.
778
27.3
GRAPHEN
.
779
27.4
AUFGABEN
.
789
27.5
LOESUNGEN
.
791
28
BENUTZUNGSOBERFLAECHEN
MIT
QT
.
795
28.1
WAS
BIETET
PYQT5?
.
795
28.2
PYQT5
ERKUNDEN
.
796
17
INHALTSVERZEICHNIS
28.3
WIE
ARBEITET
PYQT?
APPLIKATION
UND
FENSTER
.
796
28.4
EINE
OBJEKTORIENTIERTE
ANWENDUNG
MIT
.
797
28.5
EINWEBBROWSER
.
798
28.6
INTERAKTIVE
WIDGETS
.
802
28.7
LABEL
-
AUSGABE
VON
TEXT
UND
BILD
.
803
28.8
SIGNALE
.
804
28.9
CHECKBOXEN
UND
RADIOBUTTONS
.
805
28.10
AUSWAHLLISTE
(COMBOBOX)
.
808
28.11
GEMEINSAME
OPERATIONEN
DER
WIDGETS
.
810
28.12
SPEZIELLE
METHODEN
EINES
FENSTERS
.
811
28.13
EVENTS
.
813
28.14
FONTS
.
814
28.15
STYLESHEETS
.
816
28.16
ICONS
.
819
28.17
MESSAGEBOXEN
.
819
28.18
TIMER
.
820
28.19
DAS
QT-LAYOUT
UNTER
DER
LUPE
.
822
28.19.1
ABSOLUTE
POSITIONIERUNG
UND
GROESSE
.
822
28.19.2
RASTER-LAYOUT.
824
28.19.3
FORM-LAYOUT
.
825
28.20
BROWSER
FUER
JEDEN
ZWECK
.
827
28.20.1
DIE
KLASSE
QWEBENGINEVIEW
.
827
28.21
EIN
WEBBROWSER
MIT
FILTER
.
828
28.22
SURFEN
MIT
GESCHICHTE
-
DER
VERLAUF
EINER
SITZUNG
.
830
28.23
AUFGABEN
.
832
28.24
LOESUNGEN
.
833
29
MULTIMEDIAANWENDUNGEN
MIT
QT
.
837
29.1
KALENDER
UND
TEXTFELD
-
EIN
DIGITALES
TAGEBUCH
.
837
29.1.1
PROGRAMMIERUNG
.
838
29.2
KAMERABILDER
.
843
29.3
DIALOGE
.
845
29.3.1
PROJEKT:
ANSICHTSKARTE
.
847
29.4
VIDEOPLAYER
.
851
29.4.1
EIN
EINFACHER
VIDEOPLAYER
.
851
29.4.2
VIDEOPLAYER
MIT
PLAYLIST
.
855
29.4.3
REGELN
ZUR
AENDERUNG
DER
GROESSE
(SIZE
POLICY)
.
858
29.4.4
DAS
DASHBOARD
BEI
MAUSBEWEGUNGEN
EINBLENDEN
.
859
29.5
AUFGABEN
.
862
29.6
LOESUNGEN
.
867
30
RECHNEN
MIT
NUMPY
.
875
30.1
NUMPY
INSTALLIEREN
.
875
30.2
ARRAYS
ERZEUGEN
.
875
30.2.1
ARRAYS
.
875
18
INHALTSVERZEICHNIS
30.2.2
MATRIZEN
UND
VEKTOREN
.
878
30.2.3
ZAHLENFOLGEN
.
878
30.2.4
ZUFALLSARRAYS
.
879
30.2.5
SPEZIELLE
ARRAYS
.
880
30.3
INDIZIEREN
.
881
30.4
SLICING
.
882
30.5
ARRAYS
VERAENDERN
.
883
30.6
ARITHMETISCHE
OPERATIONEN
.
885
30.7
FUNKTIONEN,
DIE
ELEMENTWEISE
AUSGEFUEHRT
WERDEN
.
886
30.8
EINFACHE
VISUALISIERUNG
.
887
30.9
MATRIZENMULTIPLIKATION
MIT
DOT()
.
888
30.10
ARRAY-FUNKTIONEN
UND
ACHSEN
.
889
30.11
PROJEKT:
DIFFUSION
.
891
30.12
VERGLEICHE
.
894
30.13
PROJEKT:
WOLKEN
AM
HIMMEL
.
894
30.14
PROJEKT:
WIE
VERSTECKT
MAN
EIN
BUCH
IN
EINEM
BILD?
.
897
30.15
DATENANALYSE
MIT
HISTOGRAMMEN
.
900
30.16
WIE
FUNKTIONIERT
EIN
MEDIANFILTER?
.
903
30.17
RECHNEN
MIT
SCIPY.
906
30.17.1
LINEARE
GLEICHUNGSSYSTEME
LOESEN
.
906
30.17.2
INTEGRATION
.
908
30.18
AUFGABEN
.
909
30.19
LOESUNGEN
.
912
31
MESSDATEN
VERARBEITEN
.
917
31.1
MESSWERTE
IN
EINEM
DIAGRAMM
DARSTELLEN
-
MATPLOTLIB
UND
TKINTER
.
917
31.1.1
BASISPROJEKT
.
917
31.1.2
ERWEITERUNG:
DEN
LETZTEN
WERT
LOESCHEN
.
921
31.1.3
DAS
AUSSEHEN
EINES
DIAGRAMMS
GESTALTEN
.
923
31.2
MESSWERTE
AUS
EINEM
MULTIMETER
LESEN
UND
DARSTELLEN
.
926
31.2.1
VORBEREITUNG
.
926
31.2.2
WERTE
AUSLESEN
.
927
31.2.3
WELCHE
ZIFFERN
ZEIGT
DAS
DISPLAY
DES
MULTIMETERS?
.
930
31.3
ANZEIGE
DER
TEMPERATUR
.
934
31.4
MESSREIHEN
AUFZEICHNEN
.
936
31.5
AUFGABE
.
939
31.6
LOESUNG
.
939
32
PARALLELE
DATENVERARBEITUNG.
943
32.1
WAS
SIND
PARALLELE
PROGRAMME?
.
943
32.2
PROZESSE
STARTEN
UND
ABBRECHEN
.
944
32.3
FUNKTIONEN
IN
EIGENEN
PROZESSEN
STARTEN
.
945
32.4
PROZESSE
ZUSAMMENFUEHREN
-
JOIN()
.
947
32.5
WIE
KOENNEN
PROZESSE
OBJEKTE
AUSTAUSCHEN?
.
948
32.5.1
OBJEKTE
ALS
ARGUMENTE
UEBERGEBEN
.
948
19
INHALTSVERZEICHNIS
32.5.2
OBJEKTE
UEBER
EINE
PIPE
SENDEN
UND
EMPFANGEN
.
949
32.5.3
OBJEKTE
UEBER
EINE
QUEUE
AUSTAUSCHEN
.
950
32.6
DATEN
IM
POOL
BEARBEITEN
.
951
32.6.1
MIT
DEM
POOL
GEHT
'
S
SCHNELLER
-
EIN
ZEITEXPERIMENT
.
951
32.6.2
FORSCHEN
MIT
BIG
DATA
AUS
DEM
INTERNET
.
953
32.7
SYNCHRONISATION
.
956
32.8
PRODUZENTEN
UND
KONSUMENTEN
.
958
32.8.1
SPRUECHEKLOPFER
.
959
32.9
AUFGABEN
.
961
32.10
LOESUNGEN
.
962
33
DJANGO
.
967
33.1
DJANGO
AUS
DER
VOGELPERSPEKTIVE
.
967
33.2
EIN
PROJEKT
ANLEGEN
.
968
33.2.1
DEN
SERVER
STARTEN
.
970
33.2.2
EINE
NEUE
APPLIKATION
ANLEGEN
.
970
33.2.3
STARTSEITE
UND
VIEW
EINRICHTEN
.
971
33.3
DATENBANKANBINDUNG
.
974
33.4
MODELLE
ERSTELLEN
.
974
33.5
MODELLE
AKTIVIEREN
.
976
33.6
IN
DER
PYTHON-SHELL
DIE
DATENBANK
BEARBEITEN
.
979
33.6.1
OBJEKTE
DURCH
AUFRUF
DER
KLASSE
ERZEUGEN
.
980
33.6.2
AUF
ATTRIBUTE
EINES
OBJEKTS
ZUGREIFEN
.
981
33.6.3
OBJEKTE
FINDEN
.
981
33.6.4
OBJEKTE
ERZEUGEN
UND
BEZIEHUNGEN
HERSTELLEN
.
982
33.6.5
DEN
BEZIEHUNGSMANAGER
NUTZEN
.
983
33.6.6
OBJEKTE
LOESCHEN
.
983
33.7
DJANGO-MODELLE
UNTER
DER
LUPE
.
984
33.7.1
GRENZWERTE
.
984
33.7.2
LEERE
FELDER
.
985
33.7.3
VOREINGESTELLTE
WERTE
.
985
33.7.4
EINMALIGKEIT
.
985
33.7.5
AUSWAHLMOEGLICHKEITEN
.
985
33.8
DER
MANAGER
UNTER
DER
LUPE
-
OBJEKTE
ERZEUGEN
UND
SUCHEN
.
986
33.8.1
OBJEKTE
ERZEUGEN
.
986
33.8.2
OBJEKTE
FINDEN
.
986
33.8.3
MEHRERE
BEDINGUNGEN
.
987
33.8.4
SUCHEN
UEBER
BEZIEHUNGEN
.
988
33.8.5
WEITERE
SUCHMETHODEN
.
988
33.9
ADMINISTRATION
.
989
33.9.1
EINE
APPLIKATION
DER
WEBSITE-VERWALTUNG
ZUGAENGLICH
MACHEN
.
991
33.10
VIEWS
EINRICHTEN
-
DIE
GRUNDSTRUKTUR
.
995
33.10.1
WAS
SIND
VIEWS?
.
995
33.10.2
FUNKTIONEN
FUER
VIEWS
.
995
33.10.3
URL-PATTERNS
.
996
20
INHALTSVERZEICHNIS
33.11
VIEW-FUNKTIONEN
ERWEITERN
.
997
33.11.1
STARTSEITE
.
998
33.11.2
AUFLISTUNG
DER
IDEEN
ZU
EINER
FRAGE
-
QUESTION_INDEX
.
1001
33.11.3
DIE
TEMPLATES
VERBESSERN:
NAMEN
STATT
EXPLIZITER
URLS
.
1003
33.12
INTERAKTIVE
WEBSEITEN
-
VIEWS
MIT
FORMULAREN
.
1004
33.12.1
EINGABE
EINER
NEUEN
FRAGE
.
1004
33.12.2
EINGABE
EINER
NEUEN
IDEE
.
1010
33.12.3
VIEW-FUNKTION
FUER
DAS
SPEICHERN
EINER
NEUEN
IDEE
.
1012
33.12.4
FERTIG!
.
1013
33.13
DIE
NAECHSTEN
SCHRITTE
.
1013
33.14
AUFGABE
.
1014
33.15
LOESUNG
.
1015
A
ANHANG
.
1019
A.L
CODIERUNG
VON
SONDERZEICHEN
IN
HTML
.
1019
A.2
QUELLEN
IM
WWW
.
1019
A.3
STANDARDFUNKTIONEN
UND
STANDARDKLASSEN
.
1020
A.4
MATHEMATISCHE
FUNKTIONEN
.
1022
A.4.1
DAS
MODUL
MATH
.
1022
A.4.2
DAS
MODUL
RANDOM
.
1023
A.5
EBNF-GRAMMATIK
.
1024
B
GLOSSAR
.
1029
C
DOWNLOAD
DER
PROGRAMMBEISPIELE.
1043
D
EIN
PYTHON-MODUL
VEROEFFENTLICHEN:
PYPI
.
1045
D.1
BEI
PYPI
UND
TESTPYPI
REGISTRIEREN
.
1046
D.2
EIN
PAKET
FUER
DIE
VEROEFFENTLICHUNG
VORBEREITEN
.
1047
D.2.1
DIE
PROGRAMMDATEI
SETUP.PY
.
1047
D.2.
2
DIE
LIZENZ
.
1048
D.2.3
DIE
DATEI
README.TXT
.
1049
D.2.4
DIE
DATEI
_
INIT
_
.PY
.
1050
D.3
DAS
PAKET
AUF
PYPI
VEROEFFENTLICHEN
.
1050
D.3.1
DAS
PAKET
AKTUALISIEREN
.
1051
STICHWORTVERZEICHNIS.
1053
21 |
any_adam_object | 1 |
any_adam_object_boolean | 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 | BV048548541 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)1350778854 (DE-599)DNB1259914755 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 9. Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV048548541</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240409</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">221107s2022 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">22,N25</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1259914755</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783747505441</subfield><subfield code="c">Hb. : EUR 44.99 (DE), EUR 46.30 (AT)</subfield><subfield code="9">978-3-7475-0544-1</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3747505449</subfield><subfield code="9">3-7475-0544-9</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783747505441</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">Bestellnummer: 74750544</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1350778854</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1259914755</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</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">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-706</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-1043</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-1049</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-573n</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">23/ger</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="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</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">Python 3</subfield><subfield code="b">Lernen und professionell anwenden : das umfassende Praxisbuch</subfield><subfield code="c">Michael Weigend</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">9. Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Frechen</subfield><subfield code="b">mitp</subfield><subfield code="c">2022</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2022</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1063 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield><subfield code="c">24 cm x 17 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="500" ind1=" " ind2=" "><subfield code="a">Auf dem Umschlag "9., aktualisierte Auflage"</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="650" ind1="0" ind2="7"><subfield code="a">Python 3.x</subfield><subfield code="0">(DE-588)7692360-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</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.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 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 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="653" ind1=" " ind2=" "><subfield code="a">attribut</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">buch</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">compiler</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">debugging</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">iterator</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">klassen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">linux</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">mac</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">mitp</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">objektorientierte programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">operatoren</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">polymorphie</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">programmieren</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">programmiersprache</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">pycharm</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">python mysql</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Python</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">rekursion</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">skriptsprache</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">softwareentwicklung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">sql</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">webprogrammierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">windows</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">xml</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 3.6</subfield><subfield code="0">(DE-588)113674746X</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" 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="0" 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="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" 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="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" 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="2" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" 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="3" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="4" ind2="0"><subfield code="a">Python 3.x</subfield><subfield code="0">(DE-588)7692360-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">mitp Verlags GmbH & Co. KG</subfield><subfield code="0">(DE-588)1065362072</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-7475-0545-8</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-7475-0546-5</subfield></datafield><datafield tag="780" ind1="0" ind2="0"><subfield code="i">Vorangegangen ist</subfield><subfield code="z">978-3-7475-0051-4</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB 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=033924971&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20220615</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield></record></collection> |
genre | (DE-588)4143389-0 Aufgabensammlung gnd-content |
genre_facet | Aufgabensammlung |
id | DE-604.BV048548541 |
illustrated | Illustrated |
index_date | 2024-07-03T20:56:36Z |
indexdate | 2024-07-20T08:00:45Z |
institution | BVB |
institution_GND | (DE-588)1065362072 |
isbn | 9783747505441 3747505449 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-033924971 |
oclc_num | 1350778854 |
open_access_boolean | |
owner | DE-706 DE-860 DE-824 DE-29T DE-1043 DE-1050 DE-523 DE-1102 DE-Aug4 DE-1049 DE-83 DE-M347 DE-B768 DE-11 DE-573 DE-703 DE-573n |
owner_facet | DE-706 DE-860 DE-824 DE-29T DE-1043 DE-1050 DE-523 DE-1102 DE-Aug4 DE-1049 DE-83 DE-M347 DE-B768 DE-11 DE-573 DE-703 DE-573n |
physical | 1063 Seiten Illustrationen, Diagramme 24 cm x 17 cm |
publishDate | 2022 |
publishDateSearch | 2022 |
publishDateSort | 2022 |
publisher | mitp |
record_format | marc |
spelling | Weigend, Michael 1954- Verfasser (DE-588)124529186 aut Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch Michael Weigend 9. Auflage Frechen mitp 2022 © 2022 1063 Seiten Illustrationen, Diagramme 24 cm x 17 cm txt rdacontent n rdamedia nc rdacarrier Auf dem Umschlag "9., aktualisierte Auflage" Python 3.7 (DE-588)1155266803 gnd rswk-swf Python 3.x (DE-588)7692360-5 gnd rswk-swf Python 3.5 (DE-588)1113598565 gnd rswk-swf Python Programmiersprache (DE-588)4434275-5 gnd rswk-swf Python 3.0 (DE-588)7624871-9 gnd rswk-swf Python 3.6 (DE-588)113674746X gnd rswk-swf Python 2.4 (DE-588)4813379-6 gnd rswk-swf attribut buch compiler debugging iterator klassen linux mac mitp objektorientierte programmierung operatoren polymorphie programmieren programmiersprache programmierung pycharm python mysql Python rekursion skriptsprache softwareentwicklung sql webprogrammierung windows xml (DE-588)4143389-0 Aufgabensammlung gnd-content Python 3.6 (DE-588)113674746X s Python 3.7 (DE-588)1155266803 s Python 3.0 (DE-588)7624871-9 s DE-604 Python 3.5 (DE-588)1113598565 s Python 2.4 (DE-588)4813379-6 s Python Programmiersprache (DE-588)4434275-5 s Python 3.x (DE-588)7692360-5 s mitp Verlags GmbH & Co. KG (DE-588)1065362072 pbl Erscheint auch als Online-Ausgabe 978-3-7475-0545-8 Erscheint auch als Online-Ausgabe 978-3-7475-0546-5 Vorangegangen ist 978-3-7475-0051-4 DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033924971&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20220615 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Weigend, Michael 1954- Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch Python 3.7 (DE-588)1155266803 gnd Python 3.x (DE-588)7692360-5 gnd Python 3.5 (DE-588)1113598565 gnd Python Programmiersprache (DE-588)4434275-5 gnd Python 3.0 (DE-588)7624871-9 gnd Python 3.6 (DE-588)113674746X gnd Python 2.4 (DE-588)4813379-6 gnd |
subject_GND | (DE-588)1155266803 (DE-588)7692360-5 (DE-588)1113598565 (DE-588)4434275-5 (DE-588)7624871-9 (DE-588)113674746X (DE-588)4813379-6 (DE-588)4143389-0 |
title | Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch |
title_auth | Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch |
title_exact_search | Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch |
title_exact_search_txtP | Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch |
title_full | Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch Michael Weigend |
title_fullStr | Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch Michael Weigend |
title_full_unstemmed | Python 3 Lernen und professionell anwenden : das umfassende Praxisbuch Michael Weigend |
title_short | Python 3 |
title_sort | python 3 lernen und professionell anwenden das umfassende praxisbuch |
title_sub | Lernen und professionell anwenden : das umfassende Praxisbuch |
topic | Python 3.7 (DE-588)1155266803 gnd Python 3.x (DE-588)7692360-5 gnd Python 3.5 (DE-588)1113598565 gnd Python Programmiersprache (DE-588)4434275-5 gnd Python 3.0 (DE-588)7624871-9 gnd Python 3.6 (DE-588)113674746X gnd Python 2.4 (DE-588)4813379-6 gnd |
topic_facet | Python 3.7 Python 3.x Python 3.5 Python Programmiersprache Python 3.0 Python 3.6 Python 2.4 Aufgabensammlung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033924971&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT weigendmichael python3lernenundprofessionellanwendendasumfassendepraxisbuch AT mitpverlagsgmbhcokg python3lernenundprofessionellanwendendasumfassendepraxisbuch |