Python 3: das umfassende Handbuch
Entdecken Sie die Möglichkeiten von Python 3. Egal, ob Sie erst anfangen, mit Python zu arbeiten oder bei Ihrer Arbeit etwas nachschlagen möchten – in diesem Buch finden Sie alles, was Sie zu Python wissen müssen. Nach einer Einführung in die Sprache folgt eine umfassende Sprachreferenz, die Beschre...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Rheinwerk Verlag
2023
|
Ausgabe: | 7., aktualisierte Auflage |
Schriftenreihe: | Rheinwerk Computing
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Zusammenfassung: | Entdecken Sie die Möglichkeiten von Python 3. Egal, ob Sie erst anfangen, mit Python zu arbeiten oder bei Ihrer Arbeit etwas nachschlagen möchten – in diesem Buch finden Sie alles, was Sie zu Python wissen müssen. Nach einer Einführung in die Sprache folgt eine umfassende Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen. Dabei führen die Autoren auch in Tools wie PyPy, Numba oder pandas ein. Ob GUI-Programmierung, Webentwicklung oder Data Science: Dieses Buch macht den persönlichen Werkzeugkasten perfekt. |
Beschreibung: | 1126 Seiten Illustrationen, Diagramme 24 cm x 16.8 cm |
ISBN: | 9783836291293 3836291290 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV048637308 | ||
003 | DE-604 | ||
005 | 20240409 | ||
007 | t| | ||
008 | 230109s2023 gw a||| |||| 00||| ger d | ||
015 | |a 22,N47 |2 dnb | ||
016 | 7 | |a 1273086228 |2 DE-101 | |
020 | |a 9783836291293 |c hbk. : EUR 44.90 (DE), EUR 46.20 (AT), CHF 57.90 (freier Preis) |9 978-3-8362-9129-3 | ||
020 | |a 3836291290 |9 3-8362-9129-0 | ||
024 | 3 | |a 9783836291293 | |
028 | 5 | 2 | |a Bestellnummer: 459/09129 |
035 | |a (OCoLC)1369565347 | ||
035 | |a (DE-599)DNB1273086228 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-860 |a DE-19 |a DE-M347 |a DE-1028 |a DE-523 |a DE-1043 |a DE-20 |a DE-1049 |a DE-706 |a DE-29T |a DE-Aug4 |a DE-92 |a DE-1051 |a DE-83 |a DE-1102 |a DE-188 |a DE-824 |a DE-859 |a DE-898 | ||
082 | 0 | |a 005.133 |2 23/ger | |
082 | 0 | |a 005.133 |2 22/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
084 | |a DAT 366 |2 stub | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 366f |2 stub | ||
100 | 1 | |a Ernesti, Johannes |e Verfasser |0 (DE-588)13382621X |4 aut | |
245 | 1 | 0 | |a Python 3 |b das umfassende Handbuch |c Johannes Ernesti, Peter Kaiser |
250 | |a 7., aktualisierte Auflage | ||
264 | 1 | |a Bonn |b Rheinwerk Verlag |c 2023 | |
300 | |a 1126 Seiten |b Illustrationen, Diagramme |c 24 cm x 16.8 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Rheinwerk Computing | |
505 | 8 | |a Sprachgrundlagen und objektorientierte Programmierung,Einführung in Python Modularisierung,Reguläre Ausdrücke,Datums- und Zeitfunktionen,Thread-Programmierung,GUI-Programmierung,Webentwicklung mit Django,Migration von Python 2.x nach 3,Mathematische Module,Schnittstellen zum Betriebssystem,Netzwerkkommunikation,Distribution von Python-Projekten,Programmoptimierung Wissenschaftliches Rechnen,Data Science | |
520 | 3 | |a Entdecken Sie die Möglichkeiten von Python 3. Egal, ob Sie erst anfangen, mit Python zu arbeiten oder bei Ihrer Arbeit etwas nachschlagen möchten – in diesem Buch finden Sie alles, was Sie zu Python wissen müssen. Nach einer Einführung in die Sprache folgt eine umfassende Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen. Dabei führen die Autoren auch in Tools wie PyPy, Numba oder pandas ein. Ob GUI-Programmierung, Webentwicklung oder Data Science: Dieses Buch macht den persönlichen Werkzeugkasten perfekt. | |
650 | 0 | 7 | |a Python 3.x |0 (DE-588)7692360-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python 3.0 |0 (DE-588)7624871-9 |2 gnd |9 rswk-swf |
653 | |a Development | ||
653 | |a Skriptsprache Script | ||
653 | |a Web-Entwicklung | ||
653 | |a Raspberry Pi | ||
653 | |a Programmieren Programmierung | ||
653 | |a Software-Entwicklung | ||
653 | |a Django PyQt | ||
653 | |a OOP Objektorientierung | ||
653 | |a Referenz Kurs Tipps Workshop Tutorials Wissen Training | ||
653 | |a Crash-Kurs | ||
653 | |a HTML CSS | ||
653 | |a Hand-Buch | ||
653 | |a Ausbildung | ||
653 | |a Informatik | ||
689 | 0 | 0 | |a Python 3.x |0 (DE-588)7692360-5 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Python 3.0 |0 (DE-588)7624871-9 |D s |
689 | 1 | 1 | |a Python 3.0 |0 (DE-588)7624871-9 |D s |
689 | 1 | |5 DE-604 | |
700 | 1 | |a Kaiser, Peter |e Verfasser |0 (DE-588)138077258 |4 aut | |
710 | 2 | |a Rheinwerk Verlag |0 (DE-588)1081738405 |4 pbl | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-8362-9131-6 |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=d3af494e34ca476192d7edca3f7f18f3&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
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=034012283&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a vlb |d 20221118 |q DE-101 |u https://d-nb.info/provenance/plan#vlb | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-034012283 |
Datensatz im Suchindex
_version_ | 1816133224054652928 |
---|---|
adam_text |
INHALT
1
EINLEITUNG
29
2
DIE
PROGRAMMIERSPRACHE
PYTHON
37
2.1
HISTORIE,
KONZEPTE,
EINSATZGEBIETE
.
37
2.1.1
GESCHICHTE
UND
ENTSTEHUNG
.
37
2.1.2
GRUNDLEGENDE
KONZEPTE
.
38
2.1.3
EINSATZMOEGLICHKEITEN
UND
STAERKEN
.
39
2.1.4
EINSATZBEISPIELE
.
40
2.2
DIE
INSTALLATION
VON
PYTHON
.
41
2.2.1
INSTALLATION
VON
ANACONDA
UNTER
WINDOWS
.
41
2.2.2
INSTALLATION
VON
ANACONDA
UNTER
LINUX
.
42
2.2.3
INSTALLATION
VON
ANACONDA
UNTER
MACOS
.
43
2.3
DRITTANBIETERMODULE
INSTALLIEREN
.
43
2.4
DIE
VERWENDUNG
VON
PYTHON
.
44
TEIL
I
EINSTIEG
IN
PYTHON
3
ERSTE
SCHRITTE
IM
INTERAKTIVEN
MODUS
47
3.1
GANZE
ZAHLEN
.
47
3.2
GLEITKOMMAZAHLEN
.
49
3.3
ZEICHENKETTEN
.
50
3.4
LISTEN
.
50
3.5
DICTIONARYS
.
51
3.6
VARIABLEN
.
52
3.6.1
DIE
BESONDERE
BEDEUTUNG
DES
UNTERSTRICHS
.
53
3.6.2
BEZEICHNER
.
53
3.7
LOGISCHE
AUSDRUECKE
.
54
INHALT
3.8
FUNKTIONEN
UND
METHODEN
.
56
3.8.1
FUNKTIONEN
.
56
3.8.2
METHODEN
.
57
3.9
BILDSCHIRMAUSGABEN
.
58
3.10
MODULE
.
59
4
DER
WEG
ZUM
ERSTEN
PROGRAMM
61
4.1
TIPPEN,
KOMPILIEREN,
TESTEN
.
61
4.1.1
SHEBANG
.
63
4.1.2
INTERNE
ABLAEUFE
.
63
4.2
GRUNDSTRUKTUR
EINES
PYTHON-PROGRAMMS.
65
4.2.1
UMBRECHEN
LANGER
ZEILEN
.
66
4.2.2
ZUSAMMENFUEGEN
MEHRERER
ZEILEN
.
67
4.3
DAS
ERSTE
PROGRAMM
.
68
4.4
KOMMENTARE
.
70
4.5
DER
FEHLERFALL
.
71
5
KONTROLLSTRUKTUREN
73
5.1
FALLUNTERSCHEIDUNGEN
.
73
5.1.1
DIE
IF-ANWEISUNG
.
73
5.1.2
BEDINGTE
AUSDRUECKE
.
76
5.2
SCHLEIFEN
.
78
5.2.1
DIE
WHILE-SCHLEIFE
.
78
5.2.2
ABBRUCH
EINER
SCHLEIFE
.
79
5.2.3
ERKENNEN
EINES
SCHLEIFENABBRUCHS
.
79
5.2.4
ABBRUCH
EINES
SCHLEIFENDURCHLAUFS
.
81
5.2.5
DIEFOR-SCHLEIFE
.
83
5.3
DIE
PASS-ANWEISUNG
.
85
5.4
ZUWEISUNGSAUSDRUECKE.
86
5.4.1
MOTIVATION
.
87
5.4.2
DAS
SPIEL
ZAHLENRATEN
MIT
EINEM
ZUWEISUNGSAUSDRUCK
.
88
6
INHALT
6
DATEIEN
89
6.1
DATENSTROEME
.
89
6.2
DATEN
AUS
EINER
DATEI
AUSLESEN
.
90
6.2.1
EINE
DATEI
OEFFNEN
UND
SCHLIESSEN
.
91
6.2.2
DIE
WITH-ANWEISUNG
.
91
6.2.3
DEN
DATEIINHALT
AUSLESEN
.
92
6.3
DATEN
IN
EINE
DATEI
SCHREIBEN
.
95
6.4
DAS
DATEIOBJEKT
ERZEUGEN
.
96
6.4.1
DIE
BUILT-IN
FUNCTION
OPEN
.
96
6.4.2
ATTRIBUTE
UND
METHODEN
EINES
DATEIOBJEKTS
.
98
6.4.3
DIE
SCHREIB-/LESEPOSITION
VERAENDERN
.
99
7
DAS
DATENMODELL
103
7.1
DIE
STRUKTUR
VON
INSTANZEN
.
105
7.1.1
DATENTYP
.
106
7.1.2
WERT
.
107
7.1.3
IDENTITAET
.
108
7.2
REFERENZEN
LOESCHEN
.
109
7.3
MUTABLE
VS.
IMMUTABLE
DATENTYPEN
.
111
7.3.1
MUTABLE
DATENTYPEN
UND
SEITENEFFEKTE
.
112
8
FUNKTIONEN,
METHODEN
UND
ATTRIBUTE
115
8.1
PARAMETER
VON
FUNKTIONEN
UND
METHODEN
.
115
8.1.1
POSITIONSBEZOGENE
PARAMETER
.
116
8.1.2
SCHLUESSELWORTPARAMETER
.
117
8.1.3
OPTIONALE
PARAMETER
.
117
8.1.4
REINE
SCHLUESSELWORTPARAMETER
.
118
8.2
ATTRIBUTE
.
118
7
INHALT
9
INFORMATIONSQUELLEN
ZU
PYTHON
121
9.1
DIE
BUILT-IN
FUNCTION
HELP
.
121
9.2
DIE
ONLINEDOKUMENTATION
.
122
9.3
PEPS
.
122
TEIL
II
DATENTYPEN
10
BASISDATENTYPEN:
EINE
UEBERSICHT
127
10.1
DAS
NICHTS
-
NONETYPE
.
128
10.2
OPERATOREN
.
129
10.2.1
BINDIGKEIT
.
130
10.2.2
AUSWERTUNGSREIHENFOLGE
.
132
10.2.3
VERKETTUNG
VON
VERGLEICHEN
.
132
11
NUMERISCHE
DATENTYPEN
135
11.1
ARITHMETISCHE
OPERATOREN
.
135
11.1.1
ERWEITERTE
ZUWEISUNGEN
.
136
11.2
VERGLEICHENDE
OPERATOREN
.
137
11.3
KONVERTIERUNG
ZWISCHEN
NUMERISCHEN
DATENTYPEN
.
138
11.4
GANZZAHLEN-INT
.
139
11.4.1
ZAHLENSYSTEME
.
140
11.4.2
BIT-OPERATIONEN
.
142
11.4.3
DIE
METHODE
BITJENGTH
.
146
11.5
GLEITKOMMAZAHLEN
-FLOAT
.
146
11.5.1
EXPONENTIALSCHREIBWEISE
.
147
11.5.2
GENAUIGKEIT
.
147
11.5.3
UNENDLICH
UND
NOT
A
NUMBER
.
148
11.6
BOOLESCHE
WERTE
-
BOOL
.
149
11.6.1
LOGISCHE
OPERATOREN
.
149
8
INHALT
11.6.2
WAHRHEITSWERTE
NICHT-BOOLESCHER
DATENTYPEN
.
152
11.6.3
AUSWERTUNG
LOGISCHER
OPERATOREN
.
154
11.7
KOMPLEXE
ZAHLEN-COMPLEX
.
155
12
SEQUENZIELLE
DATENTYPEN
159
12.1
DER
UNTERSCHIED
ZWISCHEN
TEXT
UND
BINAERDATEN
.
159
12.2
OPERATIONEN
AUF
INSTANZEN
SEQUENZIELLER
DATENTYPEN
.
161
12.2.1
AUF
ELEMENTE
PRUEFEN
.
162
12.2.2
VERKETTUNG
.
163
12.2.3
WIEDERHOLUNG
.
165
12.2.4
INDIZIERUNG
.
166
12.2.5
SLICING
.
167
12.2.6
LAENGE
EINER
SEQUENZ
.
170
12.2.7
DAS
KLEINSTE
UND
DAS
GROESSTE
ELEMENT
.
171
12.2.8
EIN
ELEMENT
SUCHEN
.
171
12.2.9
ELEMENTE
ZAEHLEN
.
172
12.3
LISTEN-LIST
.
173
12.3.1
VERAENDERN
EINES
WERTES
INNERHALB
DER
LISTE
-
ZUWEISUNG
MIT
[]
.
174
12.3.2
ERSETZEN
VON
TEILLISTEN
UND
EINFUEGEN
NEUER
ELEMENTE
-
ZUWEISUNG
MIT
[]
.
174
12.3.3
ELEMENTE
UND
TEILLISTEN
LOESCHEN
-
DEL
ZUSAMMEN
MIT
[]
.
175
12.3.4
METHODEN
VON
LIST-LNSTANZEN
.
176
12.3.5
LISTEN
SORTIEREN
-
S.SORT([KEY,
REVERSE])
.
178
12.3.6
SEITENEFFEKTE
.
182
12.3.7
LIST
COMPREHENSIONS
.
184
12.4
UNVERAENDERLICHE
LISTEN
-
TUPLE
.
187
12.4.1
PACKING
UND
UNPACKING
.
188
12.4.2
IMMUTABEL
HEISST
NICHT
ZWINGEND
UNVERAENDERLICH!
.
190
12.5
STRINGS
-
STR,
BYTES,
BYTEARRAY
.
190
12.5.1
STEUERZEICHEN
.
193
12.5.2
STRING-METHODEN
.
195
12.5.3
FORMATIERUNG
VON
STRINGS
.
206
12.5.4
ZEICHENSAETZE
UND
SONDERZEICHEN
.
217
9
INHALT
13
ZUORDNUNGEN
UND
MENGEN
227
13.1
DICTIONARY
-
DICT
.
227
13.1.1
ERZEUGEN
EINES
DICTIONARYS
.
227
13.1.2
SCHLUESSEL
UND
WERTE
.
229
13.1.3
ITERATION
.
230
13.1.4
OPERATOREN
.
231
13.1.5
METHODEN
.
234
13.1.6
DICT
COMPREHENSIONS
.
240
13.2
MENGEN
-
SET
UND
FROZENSET
.
241
13.2.1
ERZEUGEN
EINES
SETS
.
241
13.2.2
ITERATION
.
243
13.2.3
OPERATOREN
.
243
13.2.4
METHODEN
.
249
13.2.5
VERAENDERLICHE
MENGEN-SET
.
250
13.2.6
UNVERAENDERLICHE
MENGEN-FROZENSET
.
252
14
COLLECTIONS
255
14.1
VERKETTETE
DICTIONARYS
.
255
14.2
ZAEHLEN
VON
HAEUFIGKEITEN
.
256
14.3
DICTIONARYS
MIT
STANDARDWERTEN
.
259
14.4
DOPPELT
VERKETTETE
LISTEN
.
260
14.5
BENANNTE
TUPEL
.
261
15
DATUM
UND
ZEIT
265
15.1
ELEMENTARE
ZEITFUNKTIONEN
-
TIME
.
265
15.1.1
DER
DATENTYP
STRUCT_TIME
.
266
15.1.2
KONSTANTEN
.
267
15.1.3
FUNKTIONEN
.
268
15.2
OBJEKTORIENTIERTE
DATUMSVERWALTUNG
-
DATETIME
.
273
15.2.1
DATETIME.DATE
.
274
15.2.2
DATETIME.TIME
.
275
15.2.3
DATETIME.DATETIME
.
276
10
INHALT
15.2.4
DATETIME.TIMEDELTA
.
278
15.2.5
OPERATIONEN
FUER
DATETIME.DATETIME
UND
DATETIME.DATE
.
281
15.3
ZEITZONEN
-
ZONEINFO
.
283
15.3.1
DIE
IANA-ZEITZONEN-DATENBANK
.
283
15.3.2
ZEITANGABEN
IN
LOKALEN
ZEITZONEN
.
284
15.3.3
RECHNEN
MIT
ZEITANGABEN
IN
LOKALEN
ZEITZONEN
.
285
16
ENUMERATIONEN
UND
FLAGS
289
16.1
AUFZAEHLUNGSTYPEN
-
ENUM
.
289
16.2
AUFZAEHLUNGSTYPEN
FUER
BITMUSTER
-
FLAG
.
291
16.3
GANZZAHLIGE
AUFZAEHLUNGSTYPEN
-
INTENUM
.
292
TEIL
III
FORTGESCHRITTENE
PROGRAMMIERTECHNIKEN
17
FUNKTIONEN
297
17.1
DEFINIEREN
EINER
FUNKTION
.
299
17.2
RUECKGABEWERTE
.
300
17.3
FUNKTIONSOBJEKTE
.
302
17.4
OPTIONALE
PARAMETER
.
303
17.5
SCHLUESSELWORTPARAMETER.
304
17.6
BELIEBIGE
ANZAHL
VON
PARAMETERN
.
305
17.7
REINE
SCHLUESSELWORTPARAMETER.
307
17.8
REINE
POSITIONSPARAMETER
.
308
17.9
UNPACKING
BEIM
FUNKTIONSAUFRUF
.
309
17.10
SEITENEFFEKTE
.
312
17.11
NAMENSRAEUME
.
315
17.11.1
ZUGRIFF
AUF
GLOBALE
VARIABLEN-GLOBAL
.
315
17.11.2
ZUGRIFF
AUF
DEN
GLOBALEN
NAMENSRAUM
.
316
17.11.3
LOKALE
FUNKTIONEN
.
317
11
INHALT
17.11.4
ZUGRIFF
AUF
UEBERGEORDNETE
NAMENSRAEUME-NONLOCAL
.
318
17.11.5
UNGEBUNDENE
LOKALE
VARIABLEN
-
EINE
STOLPERFALLE
.
320
17.12
ANONYME
FUNKTIONEN
.
321
17.13
REKURSION
.
322
17.14
EINGEBAUTE
FUNKTIONEN
.
323
17.14.1
ABS(X)
.
327
17.14.2
ALL(ITERABLE)
.
327
17.14.3
ANY(ITERABLE)
.
327
17.14.4
ASCII(OBJECT)
.
328
17.14.5
BIN(X)
.
328
17.14.6
BOOL([X])
.
328
17.14.7
BYTEARRAY([SOURCE,
ENCODING,
ERRORS])
.
329
17.14.8
BYTES([SOURCE,
ENCODING,
ERRORS])
.
330
17.14.9
CHR(I)
.
330
17.14.10
COMPLEX([REAL,
IMAG])
.
330
17.14.11
DICT([SOURCE])
.
331
17.14.12
DIVMOD(A,
B)
.
332
17.14.13
ENUMERATE(ITERABLE[,
START])
.
332
17.14.14
EVAL(EXPRESSION,
[GLOBALS,
LOCALS])
.
332
17.14.15
EXEC(OBJECT,
[GLOBALS,
LOCALS])
.
333
17.14.16
FILTER(FUNCTION,
ITERABLE)
.
334
17.14.17
FLOAT([X])
.
334
17.14.18
FORMAT(VALUE,
[FORMAT_SPEC])
.
334
17.14.19
FROZENSET([ITERABLE])
.
335
17.14.20
GLOBALSF)
.
335
17.14.21
HASH(OBJECT)
.
336
17.14.22
HELP([OBJECT])
.
336
17.14.23 HEX(X)
.
337
17.14.24
ID(OBJECT)
.
337
17.14.25
INPUT([PROMPT])
.
337
17.14.26
INT([X,
BASE])
.
338
17.14.27
LEN(S)
.
338
17.14.28
LIST([SEQUENCE])
.
338
17.14.29
LOCALS()
.
339
17.14.30
MAP(FUNCTION,
[*ITERABLE])
.
339
17.14.31
MAX(ITERABLE,
{DEFAULT,
KEY}),
MAX(ARGL,
ARG2,
[*ARGS],
{KEY})
.
340
17.14.32
MIN(ITERABLE,
{DEFAULT,
KEY}),
MIN(ARGL,
ARG2,
[*ARGS],
{KEY})
.
341
17.14.33
OCT(X)
.
341
17.14.34
ORD(C)
.
342
17.14.35
POW(X,Y,
[Z])
.
342
12
INHALT
17.14.36
PRINT([*OBJECTS],
{SEP,
END,
FILE,
.
342
17.14.37
RANGE([START],
STOP,
[STEP])
.
343
17.14.38
REPR(OBJECT)
.
344
17.14.39
REVERSED(SEQUENCE)
.
344
17.14.40
ROUND(X,
[N])
.
345
17.14.41
SET([ITERABLE])
.
345
17.14.42
SORTED(ITERABLE,
[KEY,
REVERSE])
.
345
17.14.43
STR([OBJECT,
ENCODING,
ERRORS])
.
345
17.14.44
SUM(ITERABLE,
[START])
.
347
17.14.45
TUPLE([ITERABLE])
.
347
17.14.46
TYPE(OBJECT)
.
347
17.14.47
ZIP([*ITERABLES],
{STRICT})
.
348
18
MODULE
UND
PAKETE
349
18.1
EINBINDEN
GLOBALER
MODULE
.
350
18.2
LOKALE
MODULE
.
352
18.2.1
NAMENSKONFLIKTE
.
353
18.2.2
MODULINTERNE
REFERENZEN
.
354
18.2.3
MODULE
AUSFUEHREN
.
354
18.3
PAKETE
.
355
18.3.1
IMPORTIEREN
ALLER
MODULE
EINES
PAKETS
.
357
18.3.2
NAMESPACE
PACKAGES
.
358
18.3.3
RELATIVELMPORTANWEISUNGEN
.
359
18.4
DAS
PAKET
IMPORTLIB
.
359
18.4.1
EINBINDEN
VON
MODULEN
UND
PAKETEN
.
360
18.4.2
VERAENDERN
DES
IMPORTVERHALTENS
.
361
18.5
GEPLANTE
SPRACHELEMENTE
.
363
19
OBJEKTORIENTIERTE
PROGRAMMIERUNG
365
19.1
BEISPIEL:
EIN
NICHT
OBJEKTORIENTIERTES
KONTO
.
365
19.1.1
EIN
NEUES
KONTO
ANLEGEN
.
366
19.1.2
GELD
UEBERWEISEN
.
366
19.1.3
GELD
EIN
UND
AUSZAHLEN
.
367
19.1.4
DEN
KONTOSTAND
ANZEIGEN
.
368
13
INHALT
19.2
KLASSEN
.
370
19.2.1
DEFINIEREN
VON
METHODEN
.
372
19.2.2
DER
KONSTRUKTOR
.
372
19.2.3
ATTRIBUTE
.
373
19.2.4
BEISPIEL:
EIN
OBJEKTORIENTIERTES
KONTO
.
374
19.3
VERERBUNG
.
376
19.3.1
EIN
EINFACHES
BEISPIEL
.
376
19.3.2
UEBERSCHREIBEN
VON
METHODEN
.
377
19.3.3
BEISPIEL:
GIROKONTO
MIT
TAGESUMSATZ
.
380
19.3.4
AUSBLICK
.
388
19.4
MEHRFACHVERERBUNG
.
389
19.4.1
MOEGLICHE
PROBLEME
DER
MEHRFACHVERERBUNG
.
390
19.5
PROPERTY-ATTRIBUTE
.
390
19.5.1
SETTER
UND
GETTER
.
390
19.5.2
PROPERTY-ATTRIBUTE
DEFINIEREN
.
392
19.6
STATISCHE
METHODEN
.
393
19.6.1
STATISCHE
METHODEN
DEFINIEREN
.
393
19.7
KLASSENMETHODEN
.
394
19.8
KLASSENATTRIBUTE
.
396
19.9
BUILT-IN
FUNCTIONS
FUER
DIE
OBJEKTORIENTIERTE
PROGRAMMIERUNG
.
396
19.9.1
FUNKTIONEN
FUER
DIE
VERWALTUNG
DER
ATTRIBUTE
EINER
INSTANZ
.
397
19.9.2
FUNKTIONEN
FUER
INFORMATIONEN
UEBER
DIE
KLASSENHIERARCHIE
.
398
19.10
ERBEN
VON
EINGEBAUTEN
DATENTYPEN
.
400
19.11
MAGIC
METHODS
UND
MAGIC
ATTRIBUTES
.
401
19.11.1
ALLGEMEINE
MAGIC
METHODS
.
402
19.11.2
OPERATOREN
UEBERLADEN
.
409
19.11.3
DATENTYPEN
EMULIEREN
-
DUCK-TYPING
.
416
19.12
DATENKLASSEN
.
421
19.12.1
VERAENDERLICHE
DATENKLASSEN
.
424
19.12.2
UNVERAENDERLICHE
DATENKLASSEN
.
425
19.12.3
DEFAULTWERTE
IN
DATENKLASSEN
.
425
20
AUSNAHMEBEHANDLUNG
427
20.1
EXCEPTIONS
.
427
20.1.1
EINGEBAUTE
EXCEPTIONS
.
428
14
INHALT
20.1.2
DAS
WERFEN
EINER
EXCEPTION
.
429
20.1.3
DAS
ABFANGEN
EINER
EXCEPTION
.
430
20.1.4
EIGENE
EXCEPTIONS
.
435
20.1.5
ERNEUTES
WERFEN
EINER
EXCEPTION
.
437
20.1.6
EXCEPTION
CHAINING
.
439
20.2
ZUSICHERUNGEN
-
ASSERT
.
440
20.3
WARNUNGEN
.
442
21
GENERATOREN
UND
ITERATOREN
445
21.1
GENERATOREN
.
445
21.1.1
SUBGENERATOREN
.
448
21.1.2
GENERATOR
EXPRESSIONS
.
451
21.2
ITERATOREN
.
452
21.2.1
DAS
ITERATORPROTOKOLL
.
453
21.2.2
BEISPIEL:
DIE
FIBONACCI-FOLGE
.
453
21.2.3
BEISPIEL:
DER
GOLDENE
SCHNITT
.
455
21.2.4
EIN
GENERATOR
ZUR
IMPLEMENTIERUNG
VON
_
ITER
.
455
21.2.5
VERWENDUNG
VON
ITERATOREN
.
456
21.2.6
MEHRERE
ITERATOREN
FUER
DIESELBE
INSTANZ
.
459
21.2.7
NACHTEILE
VON
ITERATOREN
GEGENUEBER
DEM
DIREKTEN
ZUGRIFF
UEBER
INDIZES
.
461
21.2.8
ALTERNATIVE
DEFINITION
FUER
ITERIERBARE
OBJEKTE
.
461
21.2.9
FUNKTIONSITERATOREN
.
462
21.3
SPEZIELLE
GENERATOREN
-
ITERTOOLS
.
463
21.3.1
ACCUMULATE(ITERABLE,
[FUNC])
.
465
21.3.2
CHAIN([*ITERABLES])
.
465
21.3.3
COMBINATIONS(ITERABLE,
R)
.
465
21.3.4
COMBINATIONS_WITH_REPLACEMENT(ITERABLE,
R)
.
466
21.3.5
COMPRESS(DATA,
SELECTORS)
.
466
21.3.6
COUNT([START,
STEP])
.
467
21.3.7
CYCLE(ITERABLE)
.
467
21.3.8
DROPWHILE(PREDICATE,
ITERABLE)
.
468
21.3.9
FILTERFALSE(PREDICATE,
ITERABLE)
.
468
21.3.10
GROUPBY(ITERABLE,
[KEY])
.
468
21.3.11
ISLICE(ITERABLE,
[START],
STOP,
[STEP])
.
469
21.3.12
PERMUTATIONS(ITERABLE,
[R])
.
470
15
INHALT
213.13
PRODUCT([*ITERABLES],
[REPEAT])
.
470
213.14
REPEAT(OBJECT,
[TIMES])
.
471
213.15
STARMAP(FUNCTION,
ITERABLE)
.
471
213.16
TAKEWHILE(PREDICATE,
ITERABLE)
.
471
213.17
TEE(ITERABLE,
[N])
.
471
213.18
ZIP_LONGEST([*ITERABLES],
{FILLVALUE})
.
472
22
KONTEXT-MANAGER
473
22.1
DIE
WITH-ANWEISUNG
.
473
22.2 HILFSFUNKTIONEN
FUER
WITH-KONTEXTE
-
CONTEXTLIB
.
476
22.2.1
DYNAMISCH
ZUSAMMENGESTELLTE
KONTEXT-KOMBINATIONEN
-
EXITSTACK
.
476
22.2.2
BESTIMMTE
EXCEPTION-TYPEN
UNTERDRUECKEN
.
477
22.2.3
DEN
STANDARD-AUSGABESTROM
UMLEITEN
.
478
22.2.4
OPTIONALE
KONTEXTE
.
479
22.2.5
EINFACHE
FUNKTIONEN
ALS
KONTEXT-MANAGER
.
479
23
DEKORATOREN
481
23.1
FUNKTIONSDEKORATOREN
.
481
23.1.1
DAS
DEKORIEREN
VON
FUNKTIONEN
UND
METHODEN
.
483
23.1.2
NAME
UND
DOCSTRING
NACH
ANWENDUNG
EINES
DEKORATORS
.
483
23.1.3
VERSCHACHTELTE
DEKORATOREN
.
484
23.1.4
BEISPIEL:
EIN
CACHE-DEKORATOR
.
485
23.2
KLASSENDEKORATOREN.
487
23.3
DAS
MODUL
FUNCTOOLS
.
488
23.3.1
FUNKTIONSSCHNITTSTELLEN
VEREINFACHEN
.
488
23.3.2
METHODENSCHNITTSTELLEN
VEREINFACHEN
.
489
23.3.3
CACHES
.
490
23.3.4
ORDNUNGSRELATIONEN
VERVOLLSTAENDIGEN
.
492
23.3.5
UEBERLADEN
VON
FUNKTIONEN
.
492
16
INHALT
24
ANNOTATIONEN
UND
STATISCHE
TYPPRUEFUNG
495
24.1
ANNOTATIONEN
.
497
24.1.1
DIE
ANNOTATION
VON
FUNKTIONEN
UND
METHODEN
.
498
24.1.2
DIE
ANNOTATION
VON
VARIABLEN
UND
ATTRIBUTEN
.
499
24.1.3
DER
ZUGRIFF
AUF
ANNOTATIONEN
ZUR
LAUFZEIT
.
501
24.1.4
WANN
WERDEN
ANNOTATIONEN
EVALUIERT?
.
503
24.2
TYPE
HINTS
-
DAS
MODUL
TYPING
.
504
24.2.1
GUELTIGE
TYPE
HINTS
.
505
24.2.2
CONTAINERTYPEN
.
505
24.2.3
ABSTRAKTE
CONTAINERTYPEN
.
506
24.2.4
TYP-ALIASSE
.
507
24.2.5
TYPE
UNIONS
UND
OPTIONALE
WERTE
.
507
24.2.6
TYPVARIABLEN
.
508
24.3
STATISCHE
TYPPRUEFUNG
IN
PYTHON
-
MYPY
.
509
24.3.1
INSTALLATION
.
510
24.3.2
BEISPIEL
.
510
25
STRUCTURAL
PATTERN
MATCHING
513
25.1
DIE
MATCH-ANWEISUNG
.
513
25.2
ARTEN
VON
MUSTERN
IN
DER
CASE-ANWEISUNG.
514
25.2.1
LITERAL-UND
WERTMUSTER
.
515
25.2.2
ODER-MUSTER
.
515
25.2.3
MUSTER
MIT
TYPPRUEFUNG
.
516
25.2.4
BEDINGUNGEN
FUER
MATCHES
FORMULIEREN
.
517
25.2.5
TEILMUSTER
GRUPPIEREN
.
518
25.2.6
CAPTURE
UND
WILDCARD-MUSTER
.
518
25.2.7
SEQUENZMUSTER
.
520
25.2.8
ZUORDNUNGSMUSTER
.
522
25.2.9
MUSTER
FUER
OBJEKTE
UND
IHRE
ATTRIBUTWERTE
.
525
17
INHALT
TEIL
IV
DIE
STANDARDBIBLIOTHEK
26
MATHEMATIK
533
26.1
MATHEMATISCHE
FUNKTIONEN
-
MATH,
CMATH
.
533
26.1.1
ALLGEMEINE
MATHEMATISCHE
FUNKTIONEN
.
534
26.1.2
EXPONENTIAL
UND
LOGARITHMUSFUNKTIONEN
.
537
26.1.3
TRIGONOMETRISCHE
UND
HYPERBOLISCHE
FUNKTIONEN
.
537
26.1.4
DISTANZEN
UND
NORMEN
.
538
26.1.5
UMRECHNEN
VON
WINKELN
.
538
26.1.6
DARSTELLUNGSFORMEN
KOMPLEXER
ZAHLEN
.
539
26.2
ZUFALLSZAHLENGENERATOR
-
RANDOM
.
539
26.2.1
DEN
STATUS
DES
ZUFALLSZAHLENGENERATORS
SPEICHERN
UND
LADEN
.
540
26.2.2
ZUFAELLIGE
GANZE
ZAHLEN
ERZEUGEN
.
541
26.2.3
ZUFAELLIGE
GLEITKOMMAZAHLEN
ERZEUGEN
.
541
26.2.4
ZUFALLSGESTEUERTE
OPERATIONEN
AUF
SEQUENZEN
.
542
26.2.5
SYSTEMRANDOM([SEED])
.
543
26.3
STATISTISCHE
BERECHNUNGEN
-
STATISTICS
.
544
26.4
INTUITIVE
DEZIMALZAHLEN
-DECIMAL
.
545
26.4.1
VERWENDUNG
DES
DATENTYPS
.
546
26.4.2
NICHTNUMERISCHE
WERTE
.
549
26.4.3
DAS
CONTEXT-OBJEKT
.
550
26.5
HASH-FUNKTIONEN-HASHLIB
.
551
26.5.1
VERWENDUNG
DES
MODULS
.
553
26.5.2
WEITERE
HASH-ALGORITHMEN
.
555
26.5.3
VERGLEICH
GROSSER
DATEIEN
.
555
26.5.4
PASSWOERTER
.
557
27
BILDSCHIRMAUSGABEN
UND
LOGGING
559
27.1
UEBERSICHTLICHE
AUSGABE
KOMPLEXER
OBJEKTE
-
PPRINT
.
559
27.2
LOGDATEIEN
-
LOGGING
.
561
27.2.1
DAS
MELDUNGSFORMAT
ANPASSEN
.
563
27.2.2
LOGGING-HANDLER
.
565
18
INHALT
28
REGULAERE
AUSDRUECKE
569
28.1
DIE
SYNTAX
REGULAERER
AUSDRUECKE
.
569
28.1.1
BELIEBIGE
ZEICHEN
.
570
28.1.2
ZEICHENKLASSEN
.
570
28.1.3
QUANTOREN
.
571
28.1.4
VORDEFINIERTE
ZEICHENKLASSEN
.
573
28.1.5
WEITERE
SONDERZEICHEN
.
575
28.1.6
GENUEGSAME
QUANTOREN
.
576
28.1.7
GRUPPEN
.
577
28.1.8
ALTERNATIVEN
.
578
28.1.9
EXTENSIONS
.
578
28.2 VERWENDUNG
DES
MODULS
RE
.
581
28.2.1
SEARCHING
.
581
28.2.2
MATCHING
.
582
28.2.3
EINEN
STRING
AUFSPALTEN
.
583
28.2.4
TEILE
EINES
STRINGS
ERSETZEN
.
583
28.2.5
PROBLEMATISCHE
ZEICHEN
ERSETZEN
.
584
28.2.6
EINEN
REGULAEREN
AUSDRUCK
KOMPILIEREN
.
585
28.2.7
FLAGS
.
585
28.2.8
DAS
MATCH-OBJEKT
.
587
28.3
EIN
EINFACHES
BEISPIELPROGRAMM
-
SEARCHING
.
588
28.4
EIN
KOMPLEXERES
BEISPIELPROGRAMM
-
MATCHING
.
590
28.5
KOMMENTARE
IN
REGULAEREN
AUSDRUECKEN.
593
29
SCHNITTSTELLEN
ZUM
BETRIEBSSYSTEM
UND
ZUR
LAUFZEITUMGEBUNG
595
29.1
FUNKTIONEN
DES
BETRIEBSSYSTEMS
-
OS
.
595
29.1.1
ENVIRON
.
596
29.1.2
GETPID()
.
596
29.1.3
CPU_COUNT()
.
596
29.1.4
SYSTEM(CMD)
.
596
29.1.5
POPEN(COMMAND,
[MODE,
BUFFERING])
.
597
29.2
ZUGRIFF
AUF
DIE
LAUFZEITUMGEBUNG
-
SYS
.
597
29.2.1
KOMMANDOZEILENPARAMETER
.
598
29.2.2
STANDARDPFADE
.
598
19
INHALT
29.2.3
STANDARD-EIN-/AUSGABESTROEME
.
598
29.2.4
DAS
PROGRAMM
BEENDEN
.
599
29.2.5
DETAILS
ZUR
PYTHON-VERSION
.
599
29.2.6
DETAILS
ZUM
BETRIEBSSYSTEM
.
600
29.2.7
HOOKS
.
601
29.3 KOMMANDOZEILENPARAMETER
-
ARGPARSE
.
602
29.3.1
TASCHENRECHNER-EIN
EINFACHES
BEISPIEL
.
604
29.3.2
EIN
KOMPLEXERES
BEISPIEL
.
608
30
DAS
DATEISYSTEM
611
30.1
ZUGRIFF
AUF
DAS
DATEISYSTEM
MIT
OS
.
611
30.2
DATEIPFADE
-
OS.PATH
.
618
30.3
ZUGRIFF
AUF
DAS
DATEISYSTEM
-
SHUTIL
.
622
30.3.1
VERZEICHNIS
UND
DATEIOPERATIONEN
.
624
30.3.2
ARCHIVOPERATIONEN
.
626
30.4
TEMPORAERE
DATEIEN
-
TEMPFILE
.
628
31
PARALLELE
PROGRAMMIERUNG
631
31.1
PROZESSE,
MULTITASKING
UND
THREADS
.
631
31.1.1
DIE
LEICHTGEWICHTE
UNTER
DEN
PROZESSEN
-
THREADS
.
632
31.1.2
THREADS
ODER
PROZESSE?
.
634
31.1.3
KOOPERATIVES
MULTITASKING
-
EIN
DRITTER
WEG
.
634
31.2
PYTHONS
SCHNITTSTELLEN
ZUR
PARALLELISIERUNG
.
635
31.3
DIE
ABSTRAKTE
SCHNITTSTELLE
-
CONCURRENT.FUTURES
.
636
31.3.1
EIN
BEISPIEL
MIT
EINEM
FUTURES.THREADPOOLEXECUTOR
.
637
31.3.2
EXECUTOR-INSTANZEN
ALS
KONTEXT-MANAGER
.
639
31.3.3
DIE
VERWENDUNG
VON
FUTURES.PROCESSPOOLEXECUTOR
.
640
31.3.4
DIE
VERWALTUNG
DER
AUFGABEN
EINES
EXECUTORS
.
641
31.4
DIE
FLEXIBLE
SCHNITTSTELLE
-
THREADING
UND
MULTIPROCESSING
.
648
31.4.1
THREADS
IN
PYTHON
-THREADING
.
648
31.4.2
PROZESSE
IN
PYTHON
-
MULTIPROCESSING
.
658
31.5
DIE
KOOPERATIVE
SCHNITTSTELLE
-
ASYNCIO
.
660
31.5.1
KOOPERATIVE
FUNKTIONEN
-
KOROUTINEN
.
661
20
INHALT
31.5.2
ERWARTBARE
OBJEKTE
.
661
31.5.3
DIE
KOOPERATION
VON
KOROUTINEN-TASKS
.
662
31.5.4
EIN
KOOPERATIVER
WEBCRAWLER
.
665
31.5.5
BLOCKIERENDE
OPERATIONEN
IN
KOROUTINEN
.
674
31.5.6
WEITERE
ASYNCHRONE
SPRACHMERKMALE
.
676
31.6
FAZIT:
WELCHE
SCHNITTSTELLE
IST
DIE
RICHTIGE?
.
678
32
DATENSPEICHERUNG
681
32.1
XML
.
681
32.1.1
ELEMENTTREE
.
683
32.1.2
SAX-SIMPLE
API
FOR
XML
.
691
32.2
DATENBANKEN
.
695
32.2.1
PYTHONS
EINGEBAUTE
DATENBANK-SQLITE3
.
698
32.3
KOMPRIMIERTE
DATEIEN
UND
ARCHIVE
.
715
32.3.1
GZIP.OPEN(FILENAME,
[MODE,
COMPRESSLEVE])
.
715
32.3.2
ANDERE
MODULE
FUER
DEN
ZUGRIFF
AUF
KOMPRIMIERTE
DATEN
.
716
32.4
SERIALISIERUNG
VON
INSTANZEN
-
PICKLE
.
716
32.4.1
FUNKTIONALE
SCHNITTSTELLE
.
718
32.4.2
OBJEKTORIENTIERTE
SCHNITTSTELLE
.
719
32.5
DAS
DATENAUSTAUSCHFORMAT
JSON
-
JSON
.
720
32.6
DAS
TABELLENFORMAT
CSV
-
CSV
.
722
32.6.1
READER-OBJEKTE
-
DATEN
AUS
EINER
CSV-DATEI
LESEN
.
722
32.6.2
DIALECT-OBJEKTE-EIGENE
DIALEKTE
VERWENDEN
.
725
33
NETZWERKKOMMUNIKATION
729
33.1
DIE
SOCKET
API
.
730
33.1.1
CLIENT-SERVER-SYSTEME
.
731
33.1.2
UDP
.
734
33.1.3
TCP
.
735
33.1.4
BLOCKIERENDE
UND
NICHTBLOCKIERENDE
SOCKETS
.
737
33.1.5
ERZEUGEN
EINES
SOCKETS
.
739
33.1.6
DIE
SOCKET-KLASSE
.
740
33.1.7
NETZWERK-BYTE-ORDER
.
743
21
INHALT
33.1.8
MULTIPLEXENDE
SERVER
-
SELECTORS
.
744
33.1.9
OBJEKTORIENTIERTE
SERVERENTWICKLUNG-SOCKETSERVER
.
747
33.2
XML-RPC
.
749
33.2.1
DER
SERVER
.
750
33.2.2
DER
CLIENT
.
753
33.2.3
MULTICALL
.
755
33.2.4
EINSCHRAENKUNGEN
.
756
34
ZUGRIFF
AUF
RESSOURCEN
IM
INTERNET
759
34.1
PROTOKOLLE
.
759
34.1.1
HYPERTEXT
TRANSFER
PROTOCOL
-
HTTP
.
759
34.1.2
FILE
TRANSFER
PROTOCOL
-
FTP
.
760
34.2
LOESUNGEN.
760
34.2.1
VERALTETE
LOESUNGEN
FUER
PYTHON
2
.
760
34.2.2
LOESUNGENDERSTANDARDBIBLIOTHEK
.
760
34.2.3
LOESUNGEN
VON
DRITTANBIETERN
.
760
34.3
DER
EINFACHE
WEG
-
REQUESTS
.
761
34.3.1
EINFACHE
ANFRAGEN
VIA
GET
UND
POST
.
761
34.3.2
WEB-APIS
.
762
34.4
URLS
-
URLLIB
.
764
34.4.1
ZUGRIFF
AUF
ENTFERNTE
RESSOURCEN
-
URLLIB.REQUEST
.
764
34.4.2
DAS
EINLESEN
UND
VERARBEITEN
VON
URLS
-
URLLIB.PARSE
.
768
34.5
FTP
-
FTPLIB
.
772
34.5.1
MIT
EINEM
FTP-SERVER
VERBINDEN
.
774
34.5.2
FTP-KOMMANDOS
AUSFUEHREN
.
775
34.5.3
MIT
DATEIEN
UND
VERZEICHNISSEN
ARBEITEN
.
775
34.5.4
UEBERTRAGEN
VON
DATEIEN
.
776
35
E-MAIL
781
35.1
SMTP
-
SMTPLIB
.
781
35.1.1
SMTP([HOST,
PORT,
LOCAL_HOSTNAME,
TIMEOUT,
SOURCE_ADDRESS])
.
782
35.1.2
EINE
VERBINDUNG
AUFBAUEN
UND
BEENDEN
.
783
35.1.3
EINE
E-MAIL
VERSENDEN
.
783
35.1.4
BEISPIEL
.
784
22
INHALT
35.2
POP3
-
POPLIB
.
784
35.2.1
POP3(HOST,
[PORT,
TIMEOUT])
.
785
35.2.2
EINE
VERBINDUNG
AUFBAUEN
UND
BEENDEN
.
786
35.2.3
VORHANDENE
E-MAILS
AUFLISTEN
.
786
35.2.4
E-MAILS
ABRUFEN
UND
LOESCHEN
.
787
35.2.5
BEISPIEL
.
788
35.3
IMAP4
-
IMAPLIB
.
789
35.3.1
IMAP4([HOST,
PORT,
TIMEOUT])
.
790
35.3.2
EINE
VERBINDUNG
AUFBAUEN
UND
BEENDEN
.
790
35.3.3
EINE
MAILBOX
SUCHEN
UND
AUSWAEHLEN
.
791
35.3.4
OPERATIONEN
MIT
MAILBOXEN
.
792
35.3.5
E-MAILS
SUCHEN
.
792
35.3.6
E-MAILS
ABRUFEN
.
793
35.3.7
BEISPIEL
.
794
35.4
ERSTELLEN
KOMPLEXER
E-MAILS
-
EMAIL
.
795
35.4.1
EINE
EINFACHE
E-MAIL
ERSTELLEN
.
795
35.4.2
EINE
E-MAIL
MIT
ANHAENGEN
ERSTELLEN
.
796
35.4.3
EINE
E-MAIL
EINLESEN
.
798
36
DEBUGGING
UND
QUALITAETSSICHERUNG
799
36.1
DER
DEBUGGER
.
799
36.2
AUTOMATISIERTES
TESTEN
.
802
36.2.1
TESTFAELLE
IN
DOCSTRINGS-DOCTEST
.
802
36.2.2
UNIT
TESTS-UNITTEST
.
807
36.3
ANALYSE
DES
LAUFZEITVERHALTENS
.
810
36.3.1
LAUFZEITMESSUNG-TIMEIT
.
811
36.3.2
PROFI
LING-CPROFI
LE
.
814
36.3.3
TRACING-TRACE
.
818
37
DOKUMENTATION
821
37.1
DOCSTRINGS
.
821
37.2
AUTOMATISCHES
ERSTELLEN
EINER
DOKUMENTATION
-
PYDOC
.
823
23
INHALT
TEILV
WEITERFUEHRENDE
THEMEN
38
DISTRIBUTION
VON
PYTHON-PROJEKTEN
827
38.1
EINE
GESCHICHTE
DER
DISTRIBUTIONEN
IN
PYTHON
.
827
38.1.1
DER
KLASSISCHE
ANSATZ
-
DISTUTILS
.
828
38.1.2
DER
NEUE
STANDARD-SETUPTOOLS
.
828
38.1.3
DER
PAKETINDEX-PYPI
.
829
38.2
ERSTELLEN
VON
DISTRIBUTIONEN
-
SETUPTOOLS
.
829
38.2.1
INSTALLATION
.
829
38.2.2
SCHREIBEN
DES
MODULS
.
830
38.2.3
DAS
INSTALLATIONSSKRIPT
.
831
38.2.4
ERSTELLEN
EINER
QUELLCODEDISTRIBUTION
.
836
38.2.5
ERSTELLEN
EINER
BINAERDISTRIBUTION
.
836
38.2.6
DISTRIBUTIONEN
INSTALLIEREN
.
837
38.3
ERSTELLEN
VON
EXE-DATEIEN
-
CX_FREEZE
.
838
38.4
PAKETMANAGER
.
840
38.4.1
DER
PYTHON-PAKETMANAGER
-
PIP
.
840
38.4.2
DER
PAKETMANAGER
CONDA
.
842
38.5
LOKALISIERUNG
VON
PROGRAMMEN
-
GETTEXT
.
845
38.5.1
BEISPIEL
FUER
DIE
VERWENDUNG
VON
GETTEXT
.
846
38.5.2
ERSTELLEN
DES
SPRACHKOMPILATS
.
847
39
VIRTUELLE
UMGEBUNGEN
851
39.1
DAS
ARBEITEN
MIT
VIRTUELLEN
UMGEBUNGEN
-
VENV
.
852
39.1.1
EINE
VIRTUELLE
UMGEBUNG
AKTIVIEREN
.
852
39.1.2
IN
EINER
VIRTUELLEN
UMGEBUNG
ARBEITEN
.
852
39.1.3
EINE
VIRTUELLE
UMGEBUNG
DEAKTIVIEREN
.
853
39.2
VIRTUELLE
UMGEBUNGEN
IN
ANACONDA
.
853
40
ALTERNATIVE
INTERPRETER
UND
COMPILER
855
40.1
JUST-IN-TIME-KOMPILIERUNG
-
PYPY
.
855
40.1.1
INSTALLATION
UND
VERWENDUNG
.
856
40.1.2
BEISPIEL
.
856
24
INHALT
40.2
NUMBA
.
856
40.2.1
INSTALLATION
.
857
40.2.2
BEISPIEL
.
858
40.3
ANBINDUNG
AN
C
UND
C++
-
CYTHON
.
859
40.3.1
INSTALLATION
.
859
40.3.2
DIE
FUNKTIONSWEISE
VON
CYTHON
.
860
40.3.3
EIN
CYTHON-PROGRAMM
KOMPILIEREN
.
861
40.3.4
EIN
CYTHON-PROGRAMM
MIT
STATISCHER
TYPISIERUNG
.
862
40.3.5
EINE
C-BIBLIOTHEK
VERWENDEN
.
864
40.4
DIE
INTERAKTIVE
PYTHON-SHELL
-
IPYTHON
.
866
40.4.1
INSTALLATION
.
866
40.4.2
DIE
INTERAKTIVE
SHELL
.
867
40.4.3
DAS
JUPYTER
NOTEBOOK
.
869
41
GRAFISCHE
BENUTZEROBERFLAECHEN
873
41.1
TOOLKITS
.
873
41.1.1
TKINTER(TK)
.
874
41.1.2
PYGOBJECT
(GTK)
.
874
41.1.3
QT
FOR
PYTHON
(QT)
.
874
41.1.4
WXPYTHON
(WXWIDGETS)
.
875
41.2
EINFUEHRUNG
IN
TKINTER
.
875
41.2.1
EIN
EINFACHES
BEISPIEL
.
876
41.2.2
STEUERELEMENTVARIABLEN
.
878
41.2.3
DER
PACKER
.
880
41.2.4
EVENTS
.
884
41.2.5
STEUERELEMENTE
.
891
41.2.6
ZEICHNUNGEN-DAS
CANVAS-WIDGET
.
909
41.2.7
WEITERE
MODULE
.
917
41.3
EINFUEHRUNG
IN
PYSIDE6
.
920
41.3.1
INSTALLATION
.
921
41.3.2
GRUNDLEGENDE
KONZEPTE
VON
QT
.
921
41.3.3
DER
ENTWICKLUNGSPROZESS
.
923
41.4
SIGNALE
UND
SLOTS
.
930
41.5
WICHTIGE
WIDGETS
.
933
41.5.1
QCHECKBOX
.
933
41.5.2
QCOMBOBOX
.
934
25
INHALT
41.53
QDATEEDIT,
QTIMEEDIT
UND
QDATETIMEEDIT
.
934
41.5.4
QDIALOG
.
935
41.5.5
QLINEEDIT
.
936
41.5.6
QLISTWIDGET
UND
QLISTVIEW
.
936
41.5.7
QPROGRESSBAR
.
937
41.5.8
QPUSHBUTTON
.
937
41.5.9
QRADIOBUTTON
.
938
41.5.10
QSLIDER
UND
ODIAL
.
938
41.5.11
QTEXTEDIT
.
939
41.5.12
QWIDGET
.
939
41.6
DIE
ZEICHENFUNKTIONALITAET
VON
QT
.
940
41.6.1
WERKZEUGE
.
941
41.6.2
DAS
KOORDINATENSYSTEM
.
943
41.6.3
EINFACHE
FORMEN
.
944
41.6.4
GRAFIKEN
.
946
41.6.5
TEXT
.
947
41.6.6
EYE
CANDY
.
949
41.7
DIE
MODEL-VIEW-ARCHITEKTUR
.
953
41.7.1
BEISPIELPROJEKT:
EIN
ADRESSBUCH
.
954
41.7.2
AUSWAEHLEN
VON
EINTRAEGEN
.
963
41.7.3
BEARBEITEN
VON
EINTRAEGEN
.
964
42
PYTHON
ALS
SERVERSEITIGE
PROGRAMMIERSPRACHE
IM
WWW
-
EIN
EINSTIEG
IN
DJANGO
969
42.1
KONZEPTE
UND
BESONDERHEITEN
VON
DJANGO
.
970
42.2
INSTALLATION
VON
DJANGO
.
971
42.3
EIN
NEUES
DJANGO-PROJEKT
ERSTELLEN
.
972
42.3.1
DER
ENTWICKLUNGSWEBSERVER
.
973
42.3.2
KONFIGURATION
DES
PROJEKTS
.
975
42.4
EINE
APPLIKATION
ERSTELLEN
.
976
42.4.1
DIE
APPLIKATION
IN
DAS
PROJEKT
EINBINDEN
.
978
42.4.2
EIN
MODEL
DEFINIEREN
.
978
42.4.3
BEZIEHUNGEN
ZWISCHEN
MODELLEN
.
979
42.4.4
UEBERTRAGUNG
DES
MODELLS
IN
DIE
DATENBANK
.
980
42.4.5
DIE
MODEL-API
.
981
42.4.6
UNSER
PROJEKT
BEKOMMT
EIN
GESICHT
.
987
42.4.7
DJANGOS
TEMPLATE-SYSTEM
.
994
26
INHALT
42.4.8
VERARBEITUNG
VON
FORMULARDATEN
.
1006
42.4.9
DJANGOS
ADMINISTRATIONSOBERFLAECHE
.
1010
43
WISSENSCHAFTLICHES
RECHNEN
UND
DATA
SCIENCE
1017
43.1
INSTALLATION
.
1018
43.2
DAS
MODELLPROGRAMM
.
1018
43.2.1
DER
IMPORT
VON
NUMPY,
SCIPY
UND
MATPLOTLIB
.
1020
43.2.2
VEKTORISIERUNG
UND
DER
DATENTYP
NUMPY.NDARRAY
.
1020
43.2.3
VISUALISIEREN
VON
DATEN
MIT
MATPLOTLIB.PYPLOT
.
1024
43.3
UEBERBLICK
UEBER
DIE
MODULE
NUMPY
UND
SCIPY
.
1027
43.3.1
UEBERBLICK
UEBER
DEN
DATENTYP
NUMPY.NDARRAY
.
1027
43.3.2
UEBERBLICK
UEBER
SCIPY
.
1036
43.4
EINE
EINFUEHRUNG
IN
DIE
DATENANALYSE
MIT
PANDAS
.
1038
43.4.1
DAS
DATAFRAME-OBJEKT
.
1039
43.4.2
SELEKTIVER
DATENZUGRIFF
.
1040
43.4.3
LOESCHEN
VON
ZEILEN
UND
SPALTEN
.
1046
43.4.4
EINFUEGEN
VON
ZEILEN
UND
SPALTEN
.
1046
43.4.5
LOGISCHE
AUSDRUECKE
AUF
DATENSAETZEN
.
1047
43.4.6
MANIPULATION
VON
DATENSAETZEN
.
1048
43.4.7
EIN-UND
AUSGABE
.
1050
43.4.8
VISUALISIERUNG
.
1051
44
INSIDERWISSEN
1055
44.1
URLS
IM
STANDARDBROWSER
OEFFNEN
-
WEBBROWSER
.
1055
44.2
INTERPRETIEREN
VON
BINAERDATEN
-
STRUCT
.
1055
44.3
VERSTECKTE
PASSWORTEINGABE-GETPASS
.
1058
44.4
KOMMANDOZEILEN-INTERPRETER
-
EMD
.
1058
44.5
DATEIINTERFACE
FUER
STRINGS
-IO.STRINGLO
.
1061
44.6
GENERATOREN
ALS
KONSUMENTEN
.
1062
44.6.1
EIN
DECORATOR
FUER
KONSUMIERENDE
GENERATORFUNKTIONEN
.
1064
44.6.2
AUSLOESEN
VON
EXCEPTIONS
IN
EINEM
GENERATOR
.
1065
44.6.3
EINE
PIPELINE
ALS
VERKETTUNG
KONSUMIERENDER
GENERATOR
FUNKTIONEN
.
1066
27
INHALT
44.7
KOPIEREN
VON
INSTANZEN
-
COPY
.
1068
44.8
BILDVERARBEITUNG
-
PILLOW
.
1071
44.8.1
INSTALLATION
.
1071
44.8.2
BILDDATEIEN
LADEN
UND
SPEICHERN
.
1072
44.8.3
ZUGRIFF
AUF
EINZELNE
PIXEL
.
1073
44.8.4
MANIPULATION
VON
BILDERN
.
1073
44.8.5
INTEROPERABILITAET
.
1080
45
VON
PYTHON
2
NACH
PYTHON
3
1081
45.1
DIE
WICHTIGSTEN
UNTERSCHIEDE
.
1084
45.1.1
EIN-/AUSGABE
.
1085
45.1.2
ITERATOREN
.
1086
45.1.3
STRINGS
.
1086
45.1.4
GANZE
ZAHLEN
.
1088
45.1.5
EXCEPTION
HANDLING
.
1088
45.1.6
STANDARDBIBLIOTHEK
.
1089
45.2
AUTOMATISCHE
KONVERTIERUNG
.
1090
A
ANHANG
1095
A.1
RESERVIERTE
WOERTER
.
1095
A.2
OPERATORRANGFOLGE
.
1095
A.3
EINGEBAUTE
FUNKTIONEN
.
1097
A.4
EINGEBAUTE
EXCEPTIONS
.
1101
A.5
PYTHON-IDES
.
1105
INDEX
.
1109
28 |
adam_txt |
INHALT
1
EINLEITUNG
29
2
DIE
PROGRAMMIERSPRACHE
PYTHON
37
2.1
HISTORIE,
KONZEPTE,
EINSATZGEBIETE
.
37
2.1.1
GESCHICHTE
UND
ENTSTEHUNG
.
37
2.1.2
GRUNDLEGENDE
KONZEPTE
.
38
2.1.3
EINSATZMOEGLICHKEITEN
UND
STAERKEN
.
39
2.1.4
EINSATZBEISPIELE
.
40
2.2
DIE
INSTALLATION
VON
PYTHON
.
41
2.2.1
INSTALLATION
VON
ANACONDA
UNTER
WINDOWS
.
41
2.2.2
INSTALLATION
VON
ANACONDA
UNTER
LINUX
.
42
2.2.3
INSTALLATION
VON
ANACONDA
UNTER
MACOS
.
43
2.3
DRITTANBIETERMODULE
INSTALLIEREN
.
43
2.4
DIE
VERWENDUNG
VON
PYTHON
.
44
TEIL
I
EINSTIEG
IN
PYTHON
3
ERSTE
SCHRITTE
IM
INTERAKTIVEN
MODUS
47
3.1
GANZE
ZAHLEN
.
47
3.2
GLEITKOMMAZAHLEN
.
49
3.3
ZEICHENKETTEN
.
50
3.4
LISTEN
.
50
3.5
DICTIONARYS
.
51
3.6
VARIABLEN
.
52
3.6.1
DIE
BESONDERE
BEDEUTUNG
DES
UNTERSTRICHS
.
53
3.6.2
BEZEICHNER
.
53
3.7
LOGISCHE
AUSDRUECKE
.
54
INHALT
3.8
FUNKTIONEN
UND
METHODEN
.
56
3.8.1
FUNKTIONEN
.
56
3.8.2
METHODEN
.
57
3.9
BILDSCHIRMAUSGABEN
.
58
3.10
MODULE
.
59
4
DER
WEG
ZUM
ERSTEN
PROGRAMM
61
4.1
TIPPEN,
KOMPILIEREN,
TESTEN
.
61
4.1.1
SHEBANG
.
63
4.1.2
INTERNE
ABLAEUFE
.
63
4.2
GRUNDSTRUKTUR
EINES
PYTHON-PROGRAMMS.
65
4.2.1
UMBRECHEN
LANGER
ZEILEN
.
66
4.2.2
ZUSAMMENFUEGEN
MEHRERER
ZEILEN
.
67
4.3
DAS
ERSTE
PROGRAMM
.
68
4.4
KOMMENTARE
.
70
4.5
DER
FEHLERFALL
.
71
5
KONTROLLSTRUKTUREN
73
5.1
FALLUNTERSCHEIDUNGEN
.
73
5.1.1
DIE
IF-ANWEISUNG
.
73
5.1.2
BEDINGTE
AUSDRUECKE
.
76
5.2
SCHLEIFEN
.
78
5.2.1
DIE
WHILE-SCHLEIFE
.
78
5.2.2
ABBRUCH
EINER
SCHLEIFE
.
79
5.2.3
ERKENNEN
EINES
SCHLEIFENABBRUCHS
.
79
5.2.4
ABBRUCH
EINES
SCHLEIFENDURCHLAUFS
.
81
5.2.5
DIEFOR-SCHLEIFE
.
83
5.3
DIE
PASS-ANWEISUNG
.
85
5.4
ZUWEISUNGSAUSDRUECKE.
86
5.4.1
MOTIVATION
.
87
5.4.2
DAS
SPIEL
ZAHLENRATEN
MIT
EINEM
ZUWEISUNGSAUSDRUCK
.
88
6
INHALT
6
DATEIEN
89
6.1
DATENSTROEME
.
89
6.2
DATEN
AUS
EINER
DATEI
AUSLESEN
.
90
6.2.1
EINE
DATEI
OEFFNEN
UND
SCHLIESSEN
.
91
6.2.2
DIE
WITH-ANWEISUNG
.
91
6.2.3
DEN
DATEIINHALT
AUSLESEN
.
92
6.3
DATEN
IN
EINE
DATEI
SCHREIBEN
.
95
6.4
DAS
DATEIOBJEKT
ERZEUGEN
.
96
6.4.1
DIE
BUILT-IN
FUNCTION
OPEN
.
96
6.4.2
ATTRIBUTE
UND
METHODEN
EINES
DATEIOBJEKTS
.
98
6.4.3
DIE
SCHREIB-/LESEPOSITION
VERAENDERN
.
99
7
DAS
DATENMODELL
103
7.1
DIE
STRUKTUR
VON
INSTANZEN
.
105
7.1.1
DATENTYP
.
106
7.1.2
WERT
.
107
7.1.3
IDENTITAET
.
108
7.2
REFERENZEN
LOESCHEN
.
109
7.3
MUTABLE
VS.
IMMUTABLE
DATENTYPEN
.
111
7.3.1
MUTABLE
DATENTYPEN
UND
SEITENEFFEKTE
.
112
8
FUNKTIONEN,
METHODEN
UND
ATTRIBUTE
115
8.1
PARAMETER
VON
FUNKTIONEN
UND
METHODEN
.
115
8.1.1
POSITIONSBEZOGENE
PARAMETER
.
116
8.1.2
SCHLUESSELWORTPARAMETER
.
117
8.1.3
OPTIONALE
PARAMETER
.
117
8.1.4
REINE
SCHLUESSELWORTPARAMETER
.
118
8.2
ATTRIBUTE
.
118
7
INHALT
9
INFORMATIONSQUELLEN
ZU
PYTHON
121
9.1
DIE
BUILT-IN
FUNCTION
HELP
.
121
9.2
DIE
ONLINEDOKUMENTATION
.
122
9.3
PEPS
.
122
TEIL
II
DATENTYPEN
10
BASISDATENTYPEN:
EINE
UEBERSICHT
127
10.1
DAS
NICHTS
-
NONETYPE
.
128
10.2
OPERATOREN
.
129
10.2.1
BINDIGKEIT
.
130
10.2.2
AUSWERTUNGSREIHENFOLGE
.
132
10.2.3
VERKETTUNG
VON
VERGLEICHEN
.
132
11
NUMERISCHE
DATENTYPEN
135
11.1
ARITHMETISCHE
OPERATOREN
.
135
11.1.1
ERWEITERTE
ZUWEISUNGEN
.
136
11.2
VERGLEICHENDE
OPERATOREN
.
137
11.3
KONVERTIERUNG
ZWISCHEN
NUMERISCHEN
DATENTYPEN
.
138
11.4
GANZZAHLEN-INT
.
139
11.4.1
ZAHLENSYSTEME
.
140
11.4.2
BIT-OPERATIONEN
.
142
11.4.3
DIE
METHODE
BITJENGTH
.
146
11.5
GLEITKOMMAZAHLEN
-FLOAT
.
146
11.5.1
EXPONENTIALSCHREIBWEISE
.
147
11.5.2
GENAUIGKEIT
.
147
11.5.3
UNENDLICH
UND
NOT
A
NUMBER
.
148
11.6
BOOLESCHE
WERTE
-
BOOL
.
149
11.6.1
LOGISCHE
OPERATOREN
.
149
8
INHALT
11.6.2
WAHRHEITSWERTE
NICHT-BOOLESCHER
DATENTYPEN
.
152
11.6.3
AUSWERTUNG
LOGISCHER
OPERATOREN
.
154
11.7
KOMPLEXE
ZAHLEN-COMPLEX
.
155
12
SEQUENZIELLE
DATENTYPEN
159
12.1
DER
UNTERSCHIED
ZWISCHEN
TEXT
UND
BINAERDATEN
.
159
12.2
OPERATIONEN
AUF
INSTANZEN
SEQUENZIELLER
DATENTYPEN
.
161
12.2.1
AUF
ELEMENTE
PRUEFEN
.
162
12.2.2
VERKETTUNG
.
163
12.2.3
WIEDERHOLUNG
.
165
12.2.4
INDIZIERUNG
.
166
12.2.5
SLICING
.
167
12.2.6
LAENGE
EINER
SEQUENZ
.
170
12.2.7
DAS
KLEINSTE
UND
DAS
GROESSTE
ELEMENT
.
171
12.2.8
EIN
ELEMENT
SUCHEN
.
171
12.2.9
ELEMENTE
ZAEHLEN
.
172
12.3
LISTEN-LIST
.
173
12.3.1
VERAENDERN
EINES
WERTES
INNERHALB
DER
LISTE
-
ZUWEISUNG
MIT
[]
.
174
12.3.2
ERSETZEN
VON
TEILLISTEN
UND
EINFUEGEN
NEUER
ELEMENTE
-
ZUWEISUNG
MIT
[]
.
174
12.3.3
ELEMENTE
UND
TEILLISTEN
LOESCHEN
-
DEL
ZUSAMMEN
MIT
[]
.
175
12.3.4
METHODEN
VON
LIST-LNSTANZEN
.
176
12.3.5
LISTEN
SORTIEREN
-
S.SORT([KEY,
REVERSE])
.
178
12.3.6
SEITENEFFEKTE
.
182
12.3.7
LIST
COMPREHENSIONS
.
184
12.4
UNVERAENDERLICHE
LISTEN
-
TUPLE
.
187
12.4.1
PACKING
UND
UNPACKING
.
188
12.4.2
IMMUTABEL
HEISST
NICHT
ZWINGEND
UNVERAENDERLICH!
.
190
12.5
STRINGS
-
STR,
BYTES,
BYTEARRAY
.
190
12.5.1
STEUERZEICHEN
.
193
12.5.2
STRING-METHODEN
.
195
12.5.3
FORMATIERUNG
VON
STRINGS
.
206
12.5.4
ZEICHENSAETZE
UND
SONDERZEICHEN
.
217
9
INHALT
13
ZUORDNUNGEN
UND
MENGEN
227
13.1
DICTIONARY
-
DICT
.
227
13.1.1
ERZEUGEN
EINES
DICTIONARYS
.
227
13.1.2
SCHLUESSEL
UND
WERTE
.
229
13.1.3
ITERATION
.
230
13.1.4
OPERATOREN
.
231
13.1.5
METHODEN
.
234
13.1.6
DICT
COMPREHENSIONS
.
240
13.2
MENGEN
-
SET
UND
FROZENSET
.
241
13.2.1
ERZEUGEN
EINES
SETS
.
241
13.2.2
ITERATION
.
243
13.2.3
OPERATOREN
.
243
13.2.4
METHODEN
.
249
13.2.5
VERAENDERLICHE
MENGEN-SET
.
250
13.2.6
UNVERAENDERLICHE
MENGEN-FROZENSET
.
252
14
COLLECTIONS
255
14.1
VERKETTETE
DICTIONARYS
.
255
14.2
ZAEHLEN
VON
HAEUFIGKEITEN
.
256
14.3
DICTIONARYS
MIT
STANDARDWERTEN
.
259
14.4
DOPPELT
VERKETTETE
LISTEN
.
260
14.5
BENANNTE
TUPEL
.
261
15
DATUM
UND
ZEIT
265
15.1
ELEMENTARE
ZEITFUNKTIONEN
-
TIME
.
265
15.1.1
DER
DATENTYP
STRUCT_TIME
.
266
15.1.2
KONSTANTEN
.
267
15.1.3
FUNKTIONEN
.
268
15.2
OBJEKTORIENTIERTE
DATUMSVERWALTUNG
-
DATETIME
.
273
15.2.1
DATETIME.DATE
.
274
15.2.2
DATETIME.TIME
.
275
15.2.3
DATETIME.DATETIME
.
276
10
INHALT
15.2.4
DATETIME.TIMEDELTA
.
278
15.2.5
OPERATIONEN
FUER
DATETIME.DATETIME
UND
DATETIME.DATE
.
281
15.3
ZEITZONEN
-
ZONEINFO
.
283
15.3.1
DIE
IANA-ZEITZONEN-DATENBANK
.
283
15.3.2
ZEITANGABEN
IN
LOKALEN
ZEITZONEN
.
284
15.3.3
RECHNEN
MIT
ZEITANGABEN
IN
LOKALEN
ZEITZONEN
.
285
16
ENUMERATIONEN
UND
FLAGS
289
16.1
AUFZAEHLUNGSTYPEN
-
ENUM
.
289
16.2
AUFZAEHLUNGSTYPEN
FUER
BITMUSTER
-
FLAG
.
291
16.3
GANZZAHLIGE
AUFZAEHLUNGSTYPEN
-
INTENUM
.
292
TEIL
III
FORTGESCHRITTENE
PROGRAMMIERTECHNIKEN
17
FUNKTIONEN
297
17.1
DEFINIEREN
EINER
FUNKTION
.
299
17.2
RUECKGABEWERTE
.
300
17.3
FUNKTIONSOBJEKTE
.
302
17.4
OPTIONALE
PARAMETER
.
303
17.5
SCHLUESSELWORTPARAMETER.
304
17.6
BELIEBIGE
ANZAHL
VON
PARAMETERN
.
305
17.7
REINE
SCHLUESSELWORTPARAMETER.
307
17.8
REINE
POSITIONSPARAMETER
.
308
17.9
UNPACKING
BEIM
FUNKTIONSAUFRUF
.
309
17.10
SEITENEFFEKTE
.
312
17.11
NAMENSRAEUME
.
315
17.11.1
ZUGRIFF
AUF
GLOBALE
VARIABLEN-GLOBAL
.
315
17.11.2
ZUGRIFF
AUF
DEN
GLOBALEN
NAMENSRAUM
.
316
17.11.3
LOKALE
FUNKTIONEN
.
317
11
INHALT
17.11.4
ZUGRIFF
AUF
UEBERGEORDNETE
NAMENSRAEUME-NONLOCAL
.
318
17.11.5
UNGEBUNDENE
LOKALE
VARIABLEN
-
EINE
STOLPERFALLE
.
320
17.12
ANONYME
FUNKTIONEN
.
321
17.13
REKURSION
.
322
17.14
EINGEBAUTE
FUNKTIONEN
.
323
17.14.1
ABS(X)
.
327
17.14.2
ALL(ITERABLE)
.
327
17.14.3
ANY(ITERABLE)
.
327
17.14.4
ASCII(OBJECT)
.
328
17.14.5
BIN(X)
.
328
17.14.6
BOOL([X])
.
328
17.14.7
BYTEARRAY([SOURCE,
ENCODING,
ERRORS])
.
329
17.14.8
BYTES([SOURCE,
ENCODING,
ERRORS])
.
330
17.14.9
CHR(I)
.
330
17.14.10
COMPLEX([REAL,
IMAG])
.
330
17.14.11
DICT([SOURCE])
.
331
17.14.12
DIVMOD(A,
B)
.
332
17.14.13
ENUMERATE(ITERABLE[,
START])
.
332
17.14.14
EVAL(EXPRESSION,
[GLOBALS,
LOCALS])
.
332
17.14.15
EXEC(OBJECT,
[GLOBALS,
LOCALS])
.
333
17.14.16
FILTER(FUNCTION,
ITERABLE)
.
334
17.14.17
FLOAT([X])
.
334
17.14.18
FORMAT(VALUE,
[FORMAT_SPEC])
.
334
17.14.19
FROZENSET([ITERABLE])
.
335
17.14.20
GLOBALSF)
.
335
17.14.21
HASH(OBJECT)
.
336
17.14.22
HELP([OBJECT])
.
336
17.14.23 HEX(X)
.
337
17.14.24
ID(OBJECT)
.
337
17.14.25
INPUT([PROMPT])
.
337
17.14.26
INT([X,
BASE])
.
338
17.14.27
LEN(S)
.
338
17.14.28
LIST([SEQUENCE])
.
338
17.14.29
LOCALS()
.
339
17.14.30
MAP(FUNCTION,
[*ITERABLE])
.
339
17.14.31
MAX(ITERABLE,
{DEFAULT,
KEY}),
MAX(ARGL,
ARG2,
[*ARGS],
{KEY})
.
340
17.14.32
MIN(ITERABLE,
{DEFAULT,
KEY}),
MIN(ARGL,
ARG2,
[*ARGS],
{KEY})
.
341
17.14.33
OCT(X)
.
341
17.14.34
ORD(C)
.
342
17.14.35
POW(X,Y,
[Z])
.
342
12
INHALT
17.14.36
PRINT([*OBJECTS],
{SEP,
END,
FILE,
.
342
17.14.37
RANGE([START],
STOP,
[STEP])
.
343
17.14.38
REPR(OBJECT)
.
344
17.14.39
REVERSED(SEQUENCE)
.
344
17.14.40
ROUND(X,
[N])
.
345
17.14.41
SET([ITERABLE])
.
345
17.14.42
SORTED(ITERABLE,
[KEY,
REVERSE])
.
345
17.14.43
STR([OBJECT,
ENCODING,
ERRORS])
.
345
17.14.44
SUM(ITERABLE,
[START])
.
347
17.14.45
TUPLE([ITERABLE])
.
347
17.14.46
TYPE(OBJECT)
.
347
17.14.47
ZIP([*ITERABLES],
{STRICT})
.
348
18
MODULE
UND
PAKETE
349
18.1
EINBINDEN
GLOBALER
MODULE
.
350
18.2
LOKALE
MODULE
.
352
18.2.1
NAMENSKONFLIKTE
.
353
18.2.2
MODULINTERNE
REFERENZEN
.
354
18.2.3
MODULE
AUSFUEHREN
.
354
18.3
PAKETE
.
355
18.3.1
IMPORTIEREN
ALLER
MODULE
EINES
PAKETS
.
357
18.3.2
NAMESPACE
PACKAGES
.
358
18.3.3
RELATIVELMPORTANWEISUNGEN
.
359
18.4
DAS
PAKET
IMPORTLIB
.
359
18.4.1
EINBINDEN
VON
MODULEN
UND
PAKETEN
.
360
18.4.2
VERAENDERN
DES
IMPORTVERHALTENS
.
361
18.5
GEPLANTE
SPRACHELEMENTE
.
363
19
OBJEKTORIENTIERTE
PROGRAMMIERUNG
365
19.1
BEISPIEL:
EIN
NICHT
OBJEKTORIENTIERTES
KONTO
.
365
19.1.1
EIN
NEUES
KONTO
ANLEGEN
.
366
19.1.2
GELD
UEBERWEISEN
.
366
19.1.3
GELD
EIN
UND
AUSZAHLEN
.
367
19.1.4
DEN
KONTOSTAND
ANZEIGEN
.
368
13
INHALT
19.2
KLASSEN
.
370
19.2.1
DEFINIEREN
VON
METHODEN
.
372
19.2.2
DER
KONSTRUKTOR
.
372
19.2.3
ATTRIBUTE
.
373
19.2.4
BEISPIEL:
EIN
OBJEKTORIENTIERTES
KONTO
.
374
19.3
VERERBUNG
.
376
19.3.1
EIN
EINFACHES
BEISPIEL
.
376
19.3.2
UEBERSCHREIBEN
VON
METHODEN
.
377
19.3.3
BEISPIEL:
GIROKONTO
MIT
TAGESUMSATZ
.
380
19.3.4
AUSBLICK
.
388
19.4
MEHRFACHVERERBUNG
.
389
19.4.1
MOEGLICHE
PROBLEME
DER
MEHRFACHVERERBUNG
.
390
19.5
PROPERTY-ATTRIBUTE
.
390
19.5.1
SETTER
UND
GETTER
.
390
19.5.2
PROPERTY-ATTRIBUTE
DEFINIEREN
.
392
19.6
STATISCHE
METHODEN
.
393
19.6.1
STATISCHE
METHODEN
DEFINIEREN
.
393
19.7
KLASSENMETHODEN
.
394
19.8
KLASSENATTRIBUTE
.
396
19.9
BUILT-IN
FUNCTIONS
FUER
DIE
OBJEKTORIENTIERTE
PROGRAMMIERUNG
.
396
19.9.1
FUNKTIONEN
FUER
DIE
VERWALTUNG
DER
ATTRIBUTE
EINER
INSTANZ
.
397
19.9.2
FUNKTIONEN
FUER
INFORMATIONEN
UEBER
DIE
KLASSENHIERARCHIE
.
398
19.10
ERBEN
VON
EINGEBAUTEN
DATENTYPEN
.
400
19.11
MAGIC
METHODS
UND
MAGIC
ATTRIBUTES
.
401
19.11.1
ALLGEMEINE
MAGIC
METHODS
.
402
19.11.2
OPERATOREN
UEBERLADEN
.
409
19.11.3
DATENTYPEN
EMULIEREN
-
DUCK-TYPING
.
416
19.12
DATENKLASSEN
.
421
19.12.1
VERAENDERLICHE
DATENKLASSEN
.
424
19.12.2
UNVERAENDERLICHE
DATENKLASSEN
.
425
19.12.3
DEFAULTWERTE
IN
DATENKLASSEN
.
425
20
AUSNAHMEBEHANDLUNG
427
20.1
EXCEPTIONS
.
427
20.1.1
EINGEBAUTE
EXCEPTIONS
.
428
14
INHALT
20.1.2
DAS
WERFEN
EINER
EXCEPTION
.
429
20.1.3
DAS
ABFANGEN
EINER
EXCEPTION
.
430
20.1.4
EIGENE
EXCEPTIONS
.
435
20.1.5
ERNEUTES
WERFEN
EINER
EXCEPTION
.
437
20.1.6
EXCEPTION
CHAINING
.
439
20.2
ZUSICHERUNGEN
-
ASSERT
.
440
20.3
WARNUNGEN
.
442
21
GENERATOREN
UND
ITERATOREN
445
21.1
GENERATOREN
.
445
21.1.1
SUBGENERATOREN
.
448
21.1.2
GENERATOR
EXPRESSIONS
.
451
21.2
ITERATOREN
.
452
21.2.1
DAS
ITERATORPROTOKOLL
.
453
21.2.2
BEISPIEL:
DIE
FIBONACCI-FOLGE
.
453
21.2.3
BEISPIEL:
DER
GOLDENE
SCHNITT
.
455
21.2.4
EIN
GENERATOR
ZUR
IMPLEMENTIERUNG
VON
_
ITER
.
455
21.2.5
VERWENDUNG
VON
ITERATOREN
.
456
21.2.6
MEHRERE
ITERATOREN
FUER
DIESELBE
INSTANZ
.
459
21.2.7
NACHTEILE
VON
ITERATOREN
GEGENUEBER
DEM
DIREKTEN
ZUGRIFF
UEBER
INDIZES
.
461
21.2.8
ALTERNATIVE
DEFINITION
FUER
ITERIERBARE
OBJEKTE
.
461
21.2.9
FUNKTIONSITERATOREN
.
462
21.3
SPEZIELLE
GENERATOREN
-
ITERTOOLS
.
463
21.3.1
ACCUMULATE(ITERABLE,
[FUNC])
.
465
21.3.2
CHAIN([*ITERABLES])
.
465
21.3.3
COMBINATIONS(ITERABLE,
R)
.
465
21.3.4
COMBINATIONS_WITH_REPLACEMENT(ITERABLE,
R)
.
466
21.3.5
COMPRESS(DATA,
SELECTORS)
.
466
21.3.6
COUNT([START,
STEP])
.
467
21.3.7
CYCLE(ITERABLE)
.
467
21.3.8
DROPWHILE(PREDICATE,
ITERABLE)
.
468
21.3.9
FILTERFALSE(PREDICATE,
ITERABLE)
.
468
21.3.10
GROUPBY(ITERABLE,
[KEY])
.
468
21.3.11
ISLICE(ITERABLE,
[START],
STOP,
[STEP])
.
469
21.3.12
PERMUTATIONS(ITERABLE,
[R])
.
470
15
INHALT
213.13
PRODUCT([*ITERABLES],
[REPEAT])
.
470
213.14
REPEAT(OBJECT,
[TIMES])
.
471
213.15
STARMAP(FUNCTION,
ITERABLE)
.
471
213.16
TAKEWHILE(PREDICATE,
ITERABLE)
.
471
213.17
TEE(ITERABLE,
[N])
.
471
213.18
ZIP_LONGEST([*ITERABLES],
{FILLVALUE})
.
472
22
KONTEXT-MANAGER
473
22.1
DIE
WITH-ANWEISUNG
.
473
22.2 HILFSFUNKTIONEN
FUER
WITH-KONTEXTE
-
CONTEXTLIB
.
476
22.2.1
DYNAMISCH
ZUSAMMENGESTELLTE
KONTEXT-KOMBINATIONEN
-
EXITSTACK
.
476
22.2.2
BESTIMMTE
EXCEPTION-TYPEN
UNTERDRUECKEN
.
477
22.2.3
DEN
STANDARD-AUSGABESTROM
UMLEITEN
.
478
22.2.4
OPTIONALE
KONTEXTE
.
479
22.2.5
EINFACHE
FUNKTIONEN
ALS
KONTEXT-MANAGER
.
479
23
DEKORATOREN
481
23.1
FUNKTIONSDEKORATOREN
.
481
23.1.1
DAS
DEKORIEREN
VON
FUNKTIONEN
UND
METHODEN
.
483
23.1.2
NAME
UND
DOCSTRING
NACH
ANWENDUNG
EINES
DEKORATORS
.
483
23.1.3
VERSCHACHTELTE
DEKORATOREN
.
484
23.1.4
BEISPIEL:
EIN
CACHE-DEKORATOR
.
485
23.2
KLASSENDEKORATOREN.
487
23.3
DAS
MODUL
FUNCTOOLS
.
488
23.3.1
FUNKTIONSSCHNITTSTELLEN
VEREINFACHEN
.
488
23.3.2
METHODENSCHNITTSTELLEN
VEREINFACHEN
.
489
23.3.3
CACHES
.
490
23.3.4
ORDNUNGSRELATIONEN
VERVOLLSTAENDIGEN
.
492
23.3.5
UEBERLADEN
VON
FUNKTIONEN
.
492
16
INHALT
24
ANNOTATIONEN
UND
STATISCHE
TYPPRUEFUNG
495
24.1
ANNOTATIONEN
.
497
24.1.1
DIE
ANNOTATION
VON
FUNKTIONEN
UND
METHODEN
.
498
24.1.2
DIE
ANNOTATION
VON
VARIABLEN
UND
ATTRIBUTEN
.
499
24.1.3
DER
ZUGRIFF
AUF
ANNOTATIONEN
ZUR
LAUFZEIT
.
501
24.1.4
WANN
WERDEN
ANNOTATIONEN
EVALUIERT?
.
503
24.2
TYPE
HINTS
-
DAS
MODUL
TYPING
.
504
24.2.1
GUELTIGE
TYPE
HINTS
.
505
24.2.2
CONTAINERTYPEN
.
505
24.2.3
ABSTRAKTE
CONTAINERTYPEN
.
506
24.2.4
TYP-ALIASSE
.
507
24.2.5
TYPE
UNIONS
UND
OPTIONALE
WERTE
.
507
24.2.6
TYPVARIABLEN
.
508
24.3
STATISCHE
TYPPRUEFUNG
IN
PYTHON
-
MYPY
.
509
24.3.1
INSTALLATION
.
510
24.3.2
BEISPIEL
.
510
25
STRUCTURAL
PATTERN
MATCHING
513
25.1
DIE
MATCH-ANWEISUNG
.
513
25.2
ARTEN
VON
MUSTERN
IN
DER
CASE-ANWEISUNG.
514
25.2.1
LITERAL-UND
WERTMUSTER
.
515
25.2.2
ODER-MUSTER
.
515
25.2.3
MUSTER
MIT
TYPPRUEFUNG
.
516
25.2.4
BEDINGUNGEN
FUER
MATCHES
FORMULIEREN
.
517
25.2.5
TEILMUSTER
GRUPPIEREN
.
518
25.2.6
CAPTURE
UND
WILDCARD-MUSTER
.
518
25.2.7
SEQUENZMUSTER
.
520
25.2.8
ZUORDNUNGSMUSTER
.
522
25.2.9
MUSTER
FUER
OBJEKTE
UND
IHRE
ATTRIBUTWERTE
.
525
17
INHALT
TEIL
IV
DIE
STANDARDBIBLIOTHEK
26
MATHEMATIK
533
26.1
MATHEMATISCHE
FUNKTIONEN
-
MATH,
CMATH
.
533
26.1.1
ALLGEMEINE
MATHEMATISCHE
FUNKTIONEN
.
534
26.1.2
EXPONENTIAL
UND
LOGARITHMUSFUNKTIONEN
.
537
26.1.3
TRIGONOMETRISCHE
UND
HYPERBOLISCHE
FUNKTIONEN
.
537
26.1.4
DISTANZEN
UND
NORMEN
.
538
26.1.5
UMRECHNEN
VON
WINKELN
.
538
26.1.6
DARSTELLUNGSFORMEN
KOMPLEXER
ZAHLEN
.
539
26.2
ZUFALLSZAHLENGENERATOR
-
RANDOM
.
539
26.2.1
DEN
STATUS
DES
ZUFALLSZAHLENGENERATORS
SPEICHERN
UND
LADEN
.
540
26.2.2
ZUFAELLIGE
GANZE
ZAHLEN
ERZEUGEN
.
541
26.2.3
ZUFAELLIGE
GLEITKOMMAZAHLEN
ERZEUGEN
.
541
26.2.4
ZUFALLSGESTEUERTE
OPERATIONEN
AUF
SEQUENZEN
.
542
26.2.5
SYSTEMRANDOM([SEED])
.
543
26.3
STATISTISCHE
BERECHNUNGEN
-
STATISTICS
.
544
26.4
INTUITIVE
DEZIMALZAHLEN
-DECIMAL
.
545
26.4.1
VERWENDUNG
DES
DATENTYPS
.
546
26.4.2
NICHTNUMERISCHE
WERTE
.
549
26.4.3
DAS
CONTEXT-OBJEKT
.
550
26.5
HASH-FUNKTIONEN-HASHLIB
.
551
26.5.1
VERWENDUNG
DES
MODULS
.
553
26.5.2
WEITERE
HASH-ALGORITHMEN
.
555
26.5.3
VERGLEICH
GROSSER
DATEIEN
.
555
26.5.4
PASSWOERTER
.
557
27
BILDSCHIRMAUSGABEN
UND
LOGGING
559
27.1
UEBERSICHTLICHE
AUSGABE
KOMPLEXER
OBJEKTE
-
PPRINT
.
559
27.2
LOGDATEIEN
-
LOGGING
.
561
27.2.1
DAS
MELDUNGSFORMAT
ANPASSEN
.
563
27.2.2
LOGGING-HANDLER
.
565
18
INHALT
28
REGULAERE
AUSDRUECKE
569
28.1
DIE
SYNTAX
REGULAERER
AUSDRUECKE
.
569
28.1.1
BELIEBIGE
ZEICHEN
.
570
28.1.2
ZEICHENKLASSEN
.
570
28.1.3
QUANTOREN
.
571
28.1.4
VORDEFINIERTE
ZEICHENKLASSEN
.
573
28.1.5
WEITERE
SONDERZEICHEN
.
575
28.1.6
GENUEGSAME
QUANTOREN
.
576
28.1.7
GRUPPEN
.
577
28.1.8
ALTERNATIVEN
.
578
28.1.9
EXTENSIONS
.
578
28.2 VERWENDUNG
DES
MODULS
RE
.
581
28.2.1
SEARCHING
.
581
28.2.2
MATCHING
.
582
28.2.3
EINEN
STRING
AUFSPALTEN
.
583
28.2.4
TEILE
EINES
STRINGS
ERSETZEN
.
583
28.2.5
PROBLEMATISCHE
ZEICHEN
ERSETZEN
.
584
28.2.6
EINEN
REGULAEREN
AUSDRUCK
KOMPILIEREN
.
585
28.2.7
FLAGS
.
585
28.2.8
DAS
MATCH-OBJEKT
.
587
28.3
EIN
EINFACHES
BEISPIELPROGRAMM
-
SEARCHING
.
588
28.4
EIN
KOMPLEXERES
BEISPIELPROGRAMM
-
MATCHING
.
590
28.5
KOMMENTARE
IN
REGULAEREN
AUSDRUECKEN.
593
29
SCHNITTSTELLEN
ZUM
BETRIEBSSYSTEM
UND
ZUR
LAUFZEITUMGEBUNG
595
29.1
FUNKTIONEN
DES
BETRIEBSSYSTEMS
-
OS
.
595
29.1.1
ENVIRON
.
596
29.1.2
GETPID()
.
596
29.1.3
CPU_COUNT()
.
596
29.1.4
SYSTEM(CMD)
.
596
29.1.5
POPEN(COMMAND,
[MODE,
BUFFERING])
.
597
29.2
ZUGRIFF
AUF
DIE
LAUFZEITUMGEBUNG
-
SYS
.
597
29.2.1
KOMMANDOZEILENPARAMETER
.
598
29.2.2
STANDARDPFADE
.
598
19
INHALT
29.2.3
STANDARD-EIN-/AUSGABESTROEME
.
598
29.2.4
DAS
PROGRAMM
BEENDEN
.
599
29.2.5
DETAILS
ZUR
PYTHON-VERSION
.
599
29.2.6
DETAILS
ZUM
BETRIEBSSYSTEM
.
600
29.2.7
HOOKS
.
601
29.3 KOMMANDOZEILENPARAMETER
-
ARGPARSE
.
602
29.3.1
TASCHENRECHNER-EIN
EINFACHES
BEISPIEL
.
604
29.3.2
EIN
KOMPLEXERES
BEISPIEL
.
608
30
DAS
DATEISYSTEM
611
30.1
ZUGRIFF
AUF
DAS
DATEISYSTEM
MIT
OS
.
611
30.2
DATEIPFADE
-
OS.PATH
.
618
30.3
ZUGRIFF
AUF
DAS
DATEISYSTEM
-
SHUTIL
.
622
30.3.1
VERZEICHNIS
UND
DATEIOPERATIONEN
.
624
30.3.2
ARCHIVOPERATIONEN
.
626
30.4
TEMPORAERE
DATEIEN
-
TEMPFILE
.
628
31
PARALLELE
PROGRAMMIERUNG
631
31.1
PROZESSE,
MULTITASKING
UND
THREADS
.
631
31.1.1
DIE
LEICHTGEWICHTE
UNTER
DEN
PROZESSEN
-
THREADS
.
632
31.1.2
THREADS
ODER
PROZESSE?
.
634
31.1.3
KOOPERATIVES
MULTITASKING
-
EIN
DRITTER
WEG
.
634
31.2
PYTHONS
SCHNITTSTELLEN
ZUR
PARALLELISIERUNG
.
635
31.3
DIE
ABSTRAKTE
SCHNITTSTELLE
-
CONCURRENT.FUTURES
.
636
31.3.1
EIN
BEISPIEL
MIT
EINEM
FUTURES.THREADPOOLEXECUTOR
.
637
31.3.2
EXECUTOR-INSTANZEN
ALS
KONTEXT-MANAGER
.
639
31.3.3
DIE
VERWENDUNG
VON
FUTURES.PROCESSPOOLEXECUTOR
.
640
31.3.4
DIE
VERWALTUNG
DER
AUFGABEN
EINES
EXECUTORS
.
641
31.4
DIE
FLEXIBLE
SCHNITTSTELLE
-
THREADING
UND
MULTIPROCESSING
.
648
31.4.1
THREADS
IN
PYTHON
-THREADING
.
648
31.4.2
PROZESSE
IN
PYTHON
-
MULTIPROCESSING
.
658
31.5
DIE
KOOPERATIVE
SCHNITTSTELLE
-
ASYNCIO
.
660
31.5.1
KOOPERATIVE
FUNKTIONEN
-
KOROUTINEN
.
661
20
INHALT
31.5.2
ERWARTBARE
OBJEKTE
.
661
31.5.3
DIE
KOOPERATION
VON
KOROUTINEN-TASKS
.
662
31.5.4
EIN
KOOPERATIVER
WEBCRAWLER
.
665
31.5.5
BLOCKIERENDE
OPERATIONEN
IN
KOROUTINEN
.
674
31.5.6
WEITERE
ASYNCHRONE
SPRACHMERKMALE
.
676
31.6
FAZIT:
WELCHE
SCHNITTSTELLE
IST
DIE
RICHTIGE?
.
678
32
DATENSPEICHERUNG
681
32.1
XML
.
681
32.1.1
ELEMENTTREE
.
683
32.1.2
SAX-SIMPLE
API
FOR
XML
.
691
32.2
DATENBANKEN
.
695
32.2.1
PYTHONS
EINGEBAUTE
DATENBANK-SQLITE3
.
698
32.3
KOMPRIMIERTE
DATEIEN
UND
ARCHIVE
.
715
32.3.1
GZIP.OPEN(FILENAME,
[MODE,
COMPRESSLEVE])
.
715
32.3.2
ANDERE
MODULE
FUER
DEN
ZUGRIFF
AUF
KOMPRIMIERTE
DATEN
.
716
32.4
SERIALISIERUNG
VON
INSTANZEN
-
PICKLE
.
716
32.4.1
FUNKTIONALE
SCHNITTSTELLE
.
718
32.4.2
OBJEKTORIENTIERTE
SCHNITTSTELLE
.
719
32.5
DAS
DATENAUSTAUSCHFORMAT
JSON
-
JSON
.
720
32.6
DAS
TABELLENFORMAT
CSV
-
CSV
.
722
32.6.1
READER-OBJEKTE
-
DATEN
AUS
EINER
CSV-DATEI
LESEN
.
722
32.6.2
DIALECT-OBJEKTE-EIGENE
DIALEKTE
VERWENDEN
.
725
33
NETZWERKKOMMUNIKATION
729
33.1
DIE
SOCKET
API
.
730
33.1.1
CLIENT-SERVER-SYSTEME
.
731
33.1.2
UDP
.
734
33.1.3
TCP
.
735
33.1.4
BLOCKIERENDE
UND
NICHTBLOCKIERENDE
SOCKETS
.
737
33.1.5
ERZEUGEN
EINES
SOCKETS
.
739
33.1.6
DIE
SOCKET-KLASSE
.
740
33.1.7
NETZWERK-BYTE-ORDER
.
743
21
INHALT
33.1.8
MULTIPLEXENDE
SERVER
-
SELECTORS
.
744
33.1.9
OBJEKTORIENTIERTE
SERVERENTWICKLUNG-SOCKETSERVER
.
747
33.2
XML-RPC
.
749
33.2.1
DER
SERVER
.
750
33.2.2
DER
CLIENT
.
753
33.2.3
MULTICALL
.
755
33.2.4
EINSCHRAENKUNGEN
.
756
34
ZUGRIFF
AUF
RESSOURCEN
IM
INTERNET
759
34.1
PROTOKOLLE
.
759
34.1.1
HYPERTEXT
TRANSFER
PROTOCOL
-
HTTP
.
759
34.1.2
FILE
TRANSFER
PROTOCOL
-
FTP
.
760
34.2
LOESUNGEN.
760
34.2.1
VERALTETE
LOESUNGEN
FUER
PYTHON
2
.
760
34.2.2
LOESUNGENDERSTANDARDBIBLIOTHEK
.
760
34.2.3
LOESUNGEN
VON
DRITTANBIETERN
.
760
34.3
DER
EINFACHE
WEG
-
REQUESTS
.
761
34.3.1
EINFACHE
ANFRAGEN
VIA
GET
UND
POST
.
761
34.3.2
WEB-APIS
.
762
34.4
URLS
-
URLLIB
.
764
34.4.1
ZUGRIFF
AUF
ENTFERNTE
RESSOURCEN
-
URLLIB.REQUEST
.
764
34.4.2
DAS
EINLESEN
UND
VERARBEITEN
VON
URLS
-
URLLIB.PARSE
.
768
34.5
FTP
-
FTPLIB
.
772
34.5.1
MIT
EINEM
FTP-SERVER
VERBINDEN
.
774
34.5.2
FTP-KOMMANDOS
AUSFUEHREN
.
775
34.5.3
MIT
DATEIEN
UND
VERZEICHNISSEN
ARBEITEN
.
775
34.5.4
UEBERTRAGEN
VON
DATEIEN
.
776
35
E-MAIL
781
35.1
SMTP
-
SMTPLIB
.
781
35.1.1
SMTP([HOST,
PORT,
LOCAL_HOSTNAME,
TIMEOUT,
SOURCE_ADDRESS])
.
782
35.1.2
EINE
VERBINDUNG
AUFBAUEN
UND
BEENDEN
.
783
35.1.3
EINE
E-MAIL
VERSENDEN
.
783
35.1.4
BEISPIEL
.
784
22
INHALT
35.2
POP3
-
POPLIB
.
784
35.2.1
POP3(HOST,
[PORT,
TIMEOUT])
.
785
35.2.2
EINE
VERBINDUNG
AUFBAUEN
UND
BEENDEN
.
786
35.2.3
VORHANDENE
E-MAILS
AUFLISTEN
.
786
35.2.4
E-MAILS
ABRUFEN
UND
LOESCHEN
.
787
35.2.5
BEISPIEL
.
788
35.3
IMAP4
-
IMAPLIB
.
789
35.3.1
IMAP4([HOST,
PORT,
TIMEOUT])
.
790
35.3.2
EINE
VERBINDUNG
AUFBAUEN
UND
BEENDEN
.
790
35.3.3
EINE
MAILBOX
SUCHEN
UND
AUSWAEHLEN
.
791
35.3.4
OPERATIONEN
MIT
MAILBOXEN
.
792
35.3.5
E-MAILS
SUCHEN
.
792
35.3.6
E-MAILS
ABRUFEN
.
793
35.3.7
BEISPIEL
.
794
35.4
ERSTELLEN
KOMPLEXER
E-MAILS
-
EMAIL
.
795
35.4.1
EINE
EINFACHE
E-MAIL
ERSTELLEN
.
795
35.4.2
EINE
E-MAIL
MIT
ANHAENGEN
ERSTELLEN
.
796
35.4.3
EINE
E-MAIL
EINLESEN
.
798
36
DEBUGGING
UND
QUALITAETSSICHERUNG
799
36.1
DER
DEBUGGER
.
799
36.2
AUTOMATISIERTES
TESTEN
.
802
36.2.1
TESTFAELLE
IN
DOCSTRINGS-DOCTEST
.
802
36.2.2
UNIT
TESTS-UNITTEST
.
807
36.3
ANALYSE
DES
LAUFZEITVERHALTENS
.
810
36.3.1
LAUFZEITMESSUNG-TIMEIT
.
811
36.3.2
PROFI
LING-CPROFI
LE
.
814
36.3.3
TRACING-TRACE
.
818
37
DOKUMENTATION
821
37.1
DOCSTRINGS
.
821
37.2
AUTOMATISCHES
ERSTELLEN
EINER
DOKUMENTATION
-
PYDOC
.
823
23
INHALT
TEILV
WEITERFUEHRENDE
THEMEN
38
DISTRIBUTION
VON
PYTHON-PROJEKTEN
827
38.1
EINE
GESCHICHTE
DER
DISTRIBUTIONEN
IN
PYTHON
.
827
38.1.1
DER
KLASSISCHE
ANSATZ
-
DISTUTILS
.
828
38.1.2
DER
NEUE
STANDARD-SETUPTOOLS
.
828
38.1.3
DER
PAKETINDEX-PYPI
.
829
38.2
ERSTELLEN
VON
DISTRIBUTIONEN
-
SETUPTOOLS
.
829
38.2.1
INSTALLATION
.
829
38.2.2
SCHREIBEN
DES
MODULS
.
830
38.2.3
DAS
INSTALLATIONSSKRIPT
.
831
38.2.4
ERSTELLEN
EINER
QUELLCODEDISTRIBUTION
.
836
38.2.5
ERSTELLEN
EINER
BINAERDISTRIBUTION
.
836
38.2.6
DISTRIBUTIONEN
INSTALLIEREN
.
837
38.3
ERSTELLEN
VON
EXE-DATEIEN
-
CX_FREEZE
.
838
38.4
PAKETMANAGER
.
840
38.4.1
DER
PYTHON-PAKETMANAGER
-
PIP
.
840
38.4.2
DER
PAKETMANAGER
CONDA
.
842
38.5
LOKALISIERUNG
VON
PROGRAMMEN
-
GETTEXT
.
845
38.5.1
BEISPIEL
FUER
DIE
VERWENDUNG
VON
GETTEXT
.
846
38.5.2
ERSTELLEN
DES
SPRACHKOMPILATS
.
847
39
VIRTUELLE
UMGEBUNGEN
851
39.1
DAS
ARBEITEN
MIT
VIRTUELLEN
UMGEBUNGEN
-
VENV
.
852
39.1.1
EINE
VIRTUELLE
UMGEBUNG
AKTIVIEREN
.
852
39.1.2
IN
EINER
VIRTUELLEN
UMGEBUNG
ARBEITEN
.
852
39.1.3
EINE
VIRTUELLE
UMGEBUNG
DEAKTIVIEREN
.
853
39.2
VIRTUELLE
UMGEBUNGEN
IN
ANACONDA
.
853
40
ALTERNATIVE
INTERPRETER
UND
COMPILER
855
40.1
JUST-IN-TIME-KOMPILIERUNG
-
PYPY
.
855
40.1.1
INSTALLATION
UND
VERWENDUNG
.
856
40.1.2
BEISPIEL
.
856
24
INHALT
40.2
NUMBA
.
856
40.2.1
INSTALLATION
.
857
40.2.2
BEISPIEL
.
858
40.3
ANBINDUNG
AN
C
UND
C++
-
CYTHON
.
859
40.3.1
INSTALLATION
.
859
40.3.2
DIE
FUNKTIONSWEISE
VON
CYTHON
.
860
40.3.3
EIN
CYTHON-PROGRAMM
KOMPILIEREN
.
861
40.3.4
EIN
CYTHON-PROGRAMM
MIT
STATISCHER
TYPISIERUNG
.
862
40.3.5
EINE
C-BIBLIOTHEK
VERWENDEN
.
864
40.4
DIE
INTERAKTIVE
PYTHON-SHELL
-
IPYTHON
.
866
40.4.1
INSTALLATION
.
866
40.4.2
DIE
INTERAKTIVE
SHELL
.
867
40.4.3
DAS
JUPYTER
NOTEBOOK
.
869
41
GRAFISCHE
BENUTZEROBERFLAECHEN
873
41.1
TOOLKITS
.
873
41.1.1
TKINTER(TK)
.
874
41.1.2
PYGOBJECT
(GTK)
.
874
41.1.3
QT
FOR
PYTHON
(QT)
.
874
41.1.4
WXPYTHON
(WXWIDGETS)
.
875
41.2
EINFUEHRUNG
IN
TKINTER
.
875
41.2.1
EIN
EINFACHES
BEISPIEL
.
876
41.2.2
STEUERELEMENTVARIABLEN
.
878
41.2.3
DER
PACKER
.
880
41.2.4
EVENTS
.
884
41.2.5
STEUERELEMENTE
.
891
41.2.6
ZEICHNUNGEN-DAS
CANVAS-WIDGET
.
909
41.2.7
WEITERE
MODULE
.
917
41.3
EINFUEHRUNG
IN
PYSIDE6
.
920
41.3.1
INSTALLATION
.
921
41.3.2
GRUNDLEGENDE
KONZEPTE
VON
QT
.
921
41.3.3
DER
ENTWICKLUNGSPROZESS
.
923
41.4
SIGNALE
UND
SLOTS
.
930
41.5
WICHTIGE
WIDGETS
.
933
41.5.1
QCHECKBOX
.
933
41.5.2
QCOMBOBOX
.
934
25
INHALT
41.53
QDATEEDIT,
QTIMEEDIT
UND
QDATETIMEEDIT
.
934
41.5.4
QDIALOG
.
935
41.5.5
QLINEEDIT
.
936
41.5.6
QLISTWIDGET
UND
QLISTVIEW
.
936
41.5.7
QPROGRESSBAR
.
937
41.5.8
QPUSHBUTTON
.
937
41.5.9
QRADIOBUTTON
.
938
41.5.10
QSLIDER
UND
ODIAL
.
938
41.5.11
QTEXTEDIT
.
939
41.5.12
QWIDGET
.
939
41.6
DIE
ZEICHENFUNKTIONALITAET
VON
QT
.
940
41.6.1
WERKZEUGE
.
941
41.6.2
DAS
KOORDINATENSYSTEM
.
943
41.6.3
EINFACHE
FORMEN
.
944
41.6.4
GRAFIKEN
.
946
41.6.5
TEXT
.
947
41.6.6
EYE
CANDY
.
949
41.7
DIE
MODEL-VIEW-ARCHITEKTUR
.
953
41.7.1
BEISPIELPROJEKT:
EIN
ADRESSBUCH
.
954
41.7.2
AUSWAEHLEN
VON
EINTRAEGEN
.
963
41.7.3
BEARBEITEN
VON
EINTRAEGEN
.
964
42
PYTHON
ALS
SERVERSEITIGE
PROGRAMMIERSPRACHE
IM
WWW
-
EIN
EINSTIEG
IN
DJANGO
969
42.1
KONZEPTE
UND
BESONDERHEITEN
VON
DJANGO
.
970
42.2
INSTALLATION
VON
DJANGO
.
971
42.3
EIN
NEUES
DJANGO-PROJEKT
ERSTELLEN
.
972
42.3.1
DER
ENTWICKLUNGSWEBSERVER
.
973
42.3.2
KONFIGURATION
DES
PROJEKTS
.
975
42.4
EINE
APPLIKATION
ERSTELLEN
.
976
42.4.1
DIE
APPLIKATION
IN
DAS
PROJEKT
EINBINDEN
.
978
42.4.2
EIN
MODEL
DEFINIEREN
.
978
42.4.3
BEZIEHUNGEN
ZWISCHEN
MODELLEN
.
979
42.4.4
UEBERTRAGUNG
DES
MODELLS
IN
DIE
DATENBANK
.
980
42.4.5
DIE
MODEL-API
.
981
42.4.6
UNSER
PROJEKT
BEKOMMT
EIN
GESICHT
.
987
42.4.7
DJANGOS
TEMPLATE-SYSTEM
.
994
26
INHALT
42.4.8
VERARBEITUNG
VON
FORMULARDATEN
.
1006
42.4.9
DJANGOS
ADMINISTRATIONSOBERFLAECHE
.
1010
43
WISSENSCHAFTLICHES
RECHNEN
UND
DATA
SCIENCE
1017
43.1
INSTALLATION
.
1018
43.2
DAS
MODELLPROGRAMM
.
1018
43.2.1
DER
IMPORT
VON
NUMPY,
SCIPY
UND
MATPLOTLIB
.
1020
43.2.2
VEKTORISIERUNG
UND
DER
DATENTYP
NUMPY.NDARRAY
.
1020
43.2.3
VISUALISIEREN
VON
DATEN
MIT
MATPLOTLIB.PYPLOT
.
1024
43.3
UEBERBLICK
UEBER
DIE
MODULE
NUMPY
UND
SCIPY
.
1027
43.3.1
UEBERBLICK
UEBER
DEN
DATENTYP
NUMPY.NDARRAY
.
1027
43.3.2
UEBERBLICK
UEBER
SCIPY
.
1036
43.4
EINE
EINFUEHRUNG
IN
DIE
DATENANALYSE
MIT
PANDAS
.
1038
43.4.1
DAS
DATAFRAME-OBJEKT
.
1039
43.4.2
SELEKTIVER
DATENZUGRIFF
.
1040
43.4.3
LOESCHEN
VON
ZEILEN
UND
SPALTEN
.
1046
43.4.4
EINFUEGEN
VON
ZEILEN
UND
SPALTEN
.
1046
43.4.5
LOGISCHE
AUSDRUECKE
AUF
DATENSAETZEN
.
1047
43.4.6
MANIPULATION
VON
DATENSAETZEN
.
1048
43.4.7
EIN-UND
AUSGABE
.
1050
43.4.8
VISUALISIERUNG
.
1051
44
INSIDERWISSEN
1055
44.1
URLS
IM
STANDARDBROWSER
OEFFNEN
-
WEBBROWSER
.
1055
44.2
INTERPRETIEREN
VON
BINAERDATEN
-
STRUCT
.
1055
44.3
VERSTECKTE
PASSWORTEINGABE-GETPASS
.
1058
44.4
KOMMANDOZEILEN-INTERPRETER
-
EMD
.
1058
44.5
DATEIINTERFACE
FUER
STRINGS
-IO.STRINGLO
.
1061
44.6
GENERATOREN
ALS
KONSUMENTEN
.
1062
44.6.1
EIN
DECORATOR
FUER
KONSUMIERENDE
GENERATORFUNKTIONEN
.
1064
44.6.2
AUSLOESEN
VON
EXCEPTIONS
IN
EINEM
GENERATOR
.
1065
44.6.3
EINE
PIPELINE
ALS
VERKETTUNG
KONSUMIERENDER
GENERATOR
FUNKTIONEN
.
1066
27
INHALT
44.7
KOPIEREN
VON
INSTANZEN
-
COPY
.
1068
44.8
BILDVERARBEITUNG
-
PILLOW
.
1071
44.8.1
INSTALLATION
.
1071
44.8.2
BILDDATEIEN
LADEN
UND
SPEICHERN
.
1072
44.8.3
ZUGRIFF
AUF
EINZELNE
PIXEL
.
1073
44.8.4
MANIPULATION
VON
BILDERN
.
1073
44.8.5
INTEROPERABILITAET
.
1080
45
VON
PYTHON
2
NACH
PYTHON
3
1081
45.1
DIE
WICHTIGSTEN
UNTERSCHIEDE
.
1084
45.1.1
EIN-/AUSGABE
.
1085
45.1.2
ITERATOREN
.
1086
45.1.3
STRINGS
.
1086
45.1.4
GANZE
ZAHLEN
.
1088
45.1.5
EXCEPTION
HANDLING
.
1088
45.1.6
STANDARDBIBLIOTHEK
.
1089
45.2
AUTOMATISCHE
KONVERTIERUNG
.
1090
A
ANHANG
1095
A.1
RESERVIERTE
WOERTER
.
1095
A.2
OPERATORRANGFOLGE
.
1095
A.3
EINGEBAUTE
FUNKTIONEN
.
1097
A.4
EINGEBAUTE
EXCEPTIONS
.
1101
A.5
PYTHON-IDES
.
1105
INDEX
.
1109
28 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Ernesti, Johannes Kaiser, Peter |
author_GND | (DE-588)13382621X (DE-588)138077258 |
author_facet | Ernesti, Johannes Kaiser, Peter |
author_role | aut aut |
author_sort | Ernesti, Johannes |
author_variant | j e je p k pk |
building | Verbundindex |
bvnumber | BV048637308 |
classification_rvk | ST 250 |
classification_tum | DAT 366 DAT 366f |
contents | Sprachgrundlagen und objektorientierte Programmierung,Einführung in Python Modularisierung,Reguläre Ausdrücke,Datums- und Zeitfunktionen,Thread-Programmierung,GUI-Programmierung,Webentwicklung mit Django,Migration von Python 2.x nach 3,Mathematische Module,Schnittstellen zum Betriebssystem,Netzwerkkommunikation,Distribution von Python-Projekten,Programmoptimierung Wissenschaftliches Rechnen,Data Science |
ctrlnum | (OCoLC)1369565347 (DE-599)DNB1273086228 |
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 | 7., aktualisierte Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV048637308</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240409</controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">230109s2023 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">22,N47</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1273086228</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836291293</subfield><subfield code="c">hbk. : EUR 44.90 (DE), EUR 46.20 (AT), CHF 57.90 (freier Preis)</subfield><subfield code="9">978-3-8362-9129-3</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3836291290</subfield><subfield code="9">3-8362-9129-0</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783836291293</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">Bestellnummer: 459/09129</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1369565347</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1273086228</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-860</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-1028</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-1043</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-1049</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-188</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-898</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">23/ger</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">22/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="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="084" ind1=" " ind2=" "><subfield code="a">DAT 366</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 366f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Ernesti, Johannes</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)13382621X</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Python 3</subfield><subfield code="b">das umfassende Handbuch</subfield><subfield code="c">Johannes Ernesti, Peter Kaiser</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">7., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk Verlag</subfield><subfield code="c">2023</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1126 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield><subfield code="c">24 cm x 16.8 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">Rheinwerk Computing</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Sprachgrundlagen und objektorientierte Programmierung,Einführung in Python Modularisierung,Reguläre Ausdrücke,Datums- und Zeitfunktionen,Thread-Programmierung,GUI-Programmierung,Webentwicklung mit Django,Migration von Python 2.x nach 3,Mathematische Module,Schnittstellen zum Betriebssystem,Netzwerkkommunikation,Distribution von Python-Projekten,Programmoptimierung Wissenschaftliches Rechnen,Data Science</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Entdecken Sie die Möglichkeiten von Python 3. Egal, ob Sie erst anfangen, mit Python zu arbeiten oder bei Ihrer Arbeit etwas nachschlagen möchten – in diesem Buch finden Sie alles, was Sie zu Python wissen müssen. Nach einer Einführung in die Sprache folgt eine umfassende Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen. Dabei führen die Autoren auch in Tools wie PyPy, Numba oder pandas ein. Ob GUI-Programmierung, Webentwicklung oder Data Science: Dieses Buch macht den persönlichen Werkzeugkasten perfekt.</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.0</subfield><subfield code="0">(DE-588)7624871-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Development</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Skriptsprache Script</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Web-Entwicklung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Raspberry Pi</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmieren Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Software-Entwicklung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Django PyQt</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">OOP Objektorientierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Referenz Kurs Tipps Workshop Tutorials Wissen Training</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Crash-Kurs</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">HTML CSS</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Hand-Buch</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Ausbildung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Informatik</subfield></datafield><datafield tag="689" ind1="0" 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="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><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="1"><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="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Kaiser, Peter</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)138077258</subfield><subfield code="4">aut</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Rheinwerk Verlag</subfield><subfield code="0">(DE-588)1081738405</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-8362-9131-6</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=d3af494e34ca476192d7edca3f7f18f3&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</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=034012283&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">20221118</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-034012283</subfield></datafield></record></collection> |
id | DE-604.BV048637308 |
illustrated | Illustrated |
index_date | 2024-07-03T21:16:56Z |
indexdate | 2024-11-19T07:00:10Z |
institution | BVB |
institution_GND | (DE-588)1081738405 |
isbn | 9783836291293 3836291290 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034012283 |
oclc_num | 1369565347 |
open_access_boolean | |
owner | DE-860 DE-19 DE-BY-UBM DE-M347 DE-1028 DE-523 DE-1043 DE-20 DE-1049 DE-706 DE-29T DE-Aug4 DE-92 DE-1051 DE-83 DE-1102 DE-188 DE-824 DE-859 DE-898 DE-BY-UBR |
owner_facet | DE-860 DE-19 DE-BY-UBM DE-M347 DE-1028 DE-523 DE-1043 DE-20 DE-1049 DE-706 DE-29T DE-Aug4 DE-92 DE-1051 DE-83 DE-1102 DE-188 DE-824 DE-859 DE-898 DE-BY-UBR |
physical | 1126 Seiten Illustrationen, Diagramme 24 cm x 16.8 cm |
publishDate | 2023 |
publishDateSearch | 2023 |
publishDateSort | 2023 |
publisher | Rheinwerk Verlag |
record_format | marc |
series2 | Rheinwerk Computing |
spelling | Ernesti, Johannes Verfasser (DE-588)13382621X aut Python 3 das umfassende Handbuch Johannes Ernesti, Peter Kaiser 7., aktualisierte Auflage Bonn Rheinwerk Verlag 2023 1126 Seiten Illustrationen, Diagramme 24 cm x 16.8 cm txt rdacontent n rdamedia nc rdacarrier Rheinwerk Computing Sprachgrundlagen und objektorientierte Programmierung,Einführung in Python Modularisierung,Reguläre Ausdrücke,Datums- und Zeitfunktionen,Thread-Programmierung,GUI-Programmierung,Webentwicklung mit Django,Migration von Python 2.x nach 3,Mathematische Module,Schnittstellen zum Betriebssystem,Netzwerkkommunikation,Distribution von Python-Projekten,Programmoptimierung Wissenschaftliches Rechnen,Data Science Entdecken Sie die Möglichkeiten von Python 3. Egal, ob Sie erst anfangen, mit Python zu arbeiten oder bei Ihrer Arbeit etwas nachschlagen möchten – in diesem Buch finden Sie alles, was Sie zu Python wissen müssen. Nach einer Einführung in die Sprache folgt eine umfassende Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen. Dabei führen die Autoren auch in Tools wie PyPy, Numba oder pandas ein. Ob GUI-Programmierung, Webentwicklung oder Data Science: Dieses Buch macht den persönlichen Werkzeugkasten perfekt. Python 3.x (DE-588)7692360-5 gnd rswk-swf Python 3.0 (DE-588)7624871-9 gnd rswk-swf Development Skriptsprache Script Web-Entwicklung Raspberry Pi Programmieren Programmierung Software-Entwicklung Django PyQt OOP Objektorientierung Referenz Kurs Tipps Workshop Tutorials Wissen Training Crash-Kurs HTML CSS Hand-Buch Ausbildung Informatik Python 3.x (DE-588)7692360-5 s DE-604 Python 3.0 (DE-588)7624871-9 s Kaiser, Peter Verfasser (DE-588)138077258 aut Rheinwerk Verlag (DE-588)1081738405 pbl Erscheint auch als Online-Ausgabe 978-3-8362-9131-6 X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=d3af494e34ca476192d7edca3f7f18f3&prov=M&dok_var=1&dok_ext=htm Inhaltstext DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034012283&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20221118 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Ernesti, Johannes Kaiser, Peter Python 3 das umfassende Handbuch Sprachgrundlagen und objektorientierte Programmierung,Einführung in Python Modularisierung,Reguläre Ausdrücke,Datums- und Zeitfunktionen,Thread-Programmierung,GUI-Programmierung,Webentwicklung mit Django,Migration von Python 2.x nach 3,Mathematische Module,Schnittstellen zum Betriebssystem,Netzwerkkommunikation,Distribution von Python-Projekten,Programmoptimierung Wissenschaftliches Rechnen,Data Science Python 3.x (DE-588)7692360-5 gnd Python 3.0 (DE-588)7624871-9 gnd |
subject_GND | (DE-588)7692360-5 (DE-588)7624871-9 |
title | Python 3 das umfassende Handbuch |
title_auth | Python 3 das umfassende Handbuch |
title_exact_search | Python 3 das umfassende Handbuch |
title_exact_search_txtP | Python 3 das umfassende Handbuch |
title_full | Python 3 das umfassende Handbuch Johannes Ernesti, Peter Kaiser |
title_fullStr | Python 3 das umfassende Handbuch Johannes Ernesti, Peter Kaiser |
title_full_unstemmed | Python 3 das umfassende Handbuch Johannes Ernesti, Peter Kaiser |
title_short | Python 3 |
title_sort | python 3 das umfassende handbuch |
title_sub | das umfassende Handbuch |
topic | Python 3.x (DE-588)7692360-5 gnd Python 3.0 (DE-588)7624871-9 gnd |
topic_facet | Python 3.x Python 3.0 |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=d3af494e34ca476192d7edca3f7f18f3&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034012283&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT ernestijohannes python3dasumfassendehandbuch AT kaiserpeter python3dasumfassendehandbuch AT rheinwerkverlag python3dasumfassendehandbuch |