Python Crashkurs: eine praktische, projektbasierte Programmiereinführung
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German English |
Veröffentlicht: |
Heidelberg
dpunkt.verlag
2024
|
Ausgabe: | 3., überarbeitete und aktualisierte Auflage |
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | xxxv, 610 Seiten Illustrationen, Diagramme 24 cm x 16.5 cm |
ISBN: | 9783864909894 3864909899 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV049066566 | ||
003 | DE-604 | ||
005 | 20231130 | ||
007 | t | ||
008 | 230726s2024 gw a||| |||| 00||| ger d | ||
016 | 7 | |a 1293687227 |2 DE-101 | |
020 | |a 9783864909894 |c Broschur : EUR 32.90 (DE), EUR 33.90 (AT) |9 978-3-86490-989-4 | ||
020 | |a 3864909899 |9 3-86490-989-9 | ||
024 | 3 | |a 9783864909894 | |
035 | |a (OCoLC)1410707477 | ||
035 | |a (DE-599)BVBBV049066566 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 1 | |a ger |h eng | |
044 | |a gw |c XA-DE-BW | ||
049 | |a DE-862 |a DE-860 |a DE-1050 |a DE-859 |a DE-29T |a DE-1051 |a DE-Aug4 |a DE-1102 |a DE-523 |a DE-573 |a DE-573n |a DE-898 |a DE-M481 |a DE-B768 |a DE-83 | ||
082 | 0 | |a 005.133 |2 23/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Matthes, Eric |d 1972- |e Verfasser |0 (DE-588)1084802260 |4 aut | |
245 | 1 | 0 | |a Python Crashkurs |b eine praktische, projektbasierte Programmiereinführung |c Eric Matthes |
250 | |a 3., überarbeitete und aktualisierte Auflage | ||
264 | 1 | |a Heidelberg |b dpunkt.verlag |c 2024 | |
300 | |a xxxv, 610 Seiten |b Illustrationen, Diagramme |c 24 cm x 16.5 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
653 | |a Analyse | ||
653 | |a Apps | ||
653 | |a Bibliotheken | ||
653 | |a Big Data | ||
653 | |a Data Science | ||
653 | |a Datenanalyse | ||
653 | |a Einführung | ||
653 | |a IPython | ||
653 | |a Kompaktkurs | ||
653 | |a NumPy | ||
653 | |a Pandas | ||
653 | |a Programmierkonzepte | ||
653 | |a Pygal | ||
653 | |a Python | ||
653 | |a Python 3 | ||
653 | |a Spieleprogrammierung | ||
653 | |a Testen | ||
653 | |a Visualisierung | ||
653 | |a Webapps | ||
653 | |a Webprogrammierung | ||
653 | |a matplotlib | ||
653 | |a programmieren lernen | ||
689 | 0 | 0 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 0 | 1 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |D s |
689 | 0 | |5 DE-604 | |
710 | 2 | |a Dpunkt.Verlag (Heidelberg) |0 (DE-588)6085529-0 |4 pbl | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, PDF |z 978-3-98890-108-8 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, EPUB |z 978-3-98890-109-5 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, MOBI |z 978-3-988-90-110-1 |
856 | 4 | 2 | |q text/html |u https://deposit.dnb.de/cgi-bin/dokserv?id=f284f3be583e497bba7268aecfb28d60&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=034328610&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-034328610 |
Datensatz im Suchindex
DE-BY-862_location | 2000 |
---|---|
DE-BY-FWS_call_number | 2000/ST 250 P99 M436(3) |
DE-BY-FWS_katkey | 1049414 |
DE-BY-FWS_media_number | 083000525564 |
_version_ | 1824555685756534784 |
adam_text |
INHALT
DER
AUTOR
.
XXIV
DER
FACHGUTACHTER
.
XXIV
DANKSAGUNG
.
XXV
VORWORT
ZUR
DRITTEN
AUFLAGE
.
XXVII
EINLEITUNG
.
XXXI
ZIELGRUPPE
.
XXXII
LERNSTOFF
.
XXXII
ONLINEMATERIAL
.
XXXIV
WARUM
PYTHON?
.
XXXIV
TEIL
1
GRUNDLAGEN
1
1
ERSTE
SCHRITTE
.
3
DIE
PROGRAMMIERUMGEBUNG
EINRICHTEN
.
3
PYTHON-VERSIONEN
.
4
PYTHON-CODEAUSSCHNITTE
AUSFUEHREN
.
4
DER
EDITOR
VS
CODE
.
5
PYTHON
AUF
VERSCHIEDENEN
BETRIEBSSYSTEMEN
.
5
PYTHON
UNTER
WINDOWS
.
5
PYTHON
UNTER
MACOS
.
7
PYTHON
UNTER
LINUX
.
9
DAS
HELLO-WORLD-PROGRAMM
AUSFUEHREN
.
11
DIE
PYTHON-ERWEITERUNG
FUER
VS
CODE
INSTALLIEREN
.
11
HELLO_WORLD.PY
AUSFUEHREN
.
11
FEHLERSUCHE
.
12
VI
INHALT
PYTHON-PROGRAMME
IM
TERMINAL
AUSFUEHREN
.
14
UNTER
WINDOWS
.
14
UNTER
LINUX
UND
MACOS
.
15
ZUSAMMENFASSUNG
.
2
VARIABLEN
UND
EINFACHE
DATENTYPEN
.
17
WAS
BEI
DER
AUSFUEHRUNG
VON
HELLO_WORLD.PY
WIRKLICH
GESCHIEHT
.
17
VARIABLEN
.
18
VARIABLEN
BENENNEN
UND
VERWENDEN
.
19
FEHLER
BEI
VARIABIENNAMEN
VERMEIDEN
.
20
VARIABLEN
SIND
ETIKETTEN
.
21
STRINGS
.
22
GROSS
UND
KLEINSCHREIBUNG
MITHILFE
VON
METHODEN
AENDERN
.
23
VARIABLEN
IN
STRINGS
VERWENDEN
.
24
WEISSRAUM
HINZUFUEGEN
.
25
WEISSRAUM
ENTFERNEN
.
26
ENTFERNEN
VON
PRAEFIXEN
.
27
SYNTAXFEHLER
BEI
DER
STRINGVERARBEITUNG
VERMEIDEN
.
28
ZAHLEN
.30
INTEGER
.
30
FLIESSKOMMAZAHLEN
.
31
INTEGER
UND
FLIESSKOMMAZAHLEN
.
32
UNTERSTRICHE
IN
ZAHLEN
.
32
MEHRFACHZUWEISUNG
.
33
KONSTANTEN
.
33
KOMMENTARE
.
34
WIE
WERDEN
KOMMENTARE
GESCHRIEBEN?
.
34
WAS
FUER
KOMMENTARE
SIND
SINNVOLL?
.34
THE
ZEN
OF
PYTHON
.
35
ZUSAMMENFASSUNG
.
37
3
EINE
EINFUEHRUNG
IN
LISTEN
.
39
WAS
SIND
LISTEN?
.
39
ELEMENTE
IN
EINER
LISTE
ANSPRECHEN
.
40
INDIZES
BEGINNEN
BEI
0,
NICHT
BEI
1
.
41
EINZELNE
WERTE
AUS
EINER
LISTE
VERWENDEN
.
41
INHALT
VII
ELEMENTE
VERAENDERN,
HINZUFUEGEN
UND
ENTFERNEN
.
42
ELEMENTE
IN
EINER
LISTE
AENDERN
.
43
ELEMENTE
ZU
EINER
LISTE
HINZUFUEGEN
.
43
ELEMENTE
AUS
EINER
LISTE
ENTFERNEN
.
45
LISTEN
ORDNEN
.
50
LISTEN
MIT
SORT()
DAUERHAFT
SORTIEREN
.
50
LISTEN
MIT
DER
FUNKTION
SORTED()
VORUEBERGEHEND
SORTIEREN
.
50
LISTEN
IN
UMGEKEHRTER
REIHENFOLGE
AUSGEBEN
.
51
DIE
LAENGE
EINER
LISTE
ERMITTELN
.52
INDEXFEHLER
VERMEIDEN
.
53
ZUSAMMENFASSUNG
.
55
4
MIT
LISTEN
ARBEITEN
.
57
EINE
KOMPLETTE
LISTE
DURCHLAUFEN
.
57
DIE
SCHLEIFE
IM
DETAIL
.
58
WEITERE
AUFGABEN
IN
EINER
FOR-SCHLEIFE
ERLEDIGEN
.
59
AKTIONEN
NACH
DER
FOR-SCHLEIFE
.
61
EINRUECKUNGSFEHLER
VERMEIDEN
.
62
VERGESSENE
EINRUECKUNG
DER
ERSTEN
ZEILE
IN
EINER
SCHLEIFE
.
62
VERGESSENE
EINRUECKUNG
NACHFOLGENDER
ZEILEN
.
63
UNNOETIGE
EINRUECKUNG
.
63
UNNOETIGE
EINRUECKUNG
NACH
EINER
SCHLEIFE
.64
VERGESSENER
DOPPELPUNKT
.
65
NUMERISCHE
LISTEN
.66
DIE
FUNKTION
RANGE()
.66
NUMERISCHE
LISTEN
MITHILFE
VON
RANGE()
AUFSTELLEN
.
67
EINFACHE
STATISTIKEN
FUER
NUMERISCHE
LISTEN
.
69
LISTENNOTATION
.
69
TEILLISTEN
.
71
EINEN
SLICE
ERSTELLEN
.
71
EINEN
SLICE
IN
EINER
SCHLEIFE
DURCHLAUFEN
.
73
LISTEN
KOPIEREN
.
74
TUPEL
.
77
EIN
TUPEL
DEFINIEREN
.
77
DIE
WERTE
IN
EINEM
TUPEL
DURCHLAUFEN
.
78
TUPEL
UEBERSCHREIBEN
.
78
VIII
INHALT
CODE
FORMATIEREN
.
79
DIE
GESTALTUNGSRICHTLINIEN
.
80
EINRUECKUNG
.
80
ZEILENLAENGE
.
80
LEERZEILEN
.
81
ZUSAMMENFASSUNG
.
82
5
.
83
EIN
EINFACHES
BEISPIEL
.
83
BEDINGUNGEN
.
84
PRUEFUNG
AUF
GLEICHHEIT
.
84
GROSS
UND
KLEINSCHREIBUNG
BEI
DER
PRUEFUNG
AUF
GLEICHHEIT
.
85
PRUEFUNG
AUF
UNGLEICHHEIT
.
86
NUMERISCHE
VERGLEICHE
.
87
PRUEFUNG
AUF
MEHRERE
BEDINGUNGEN
.
87
PRUEFUNG
AUF
VORHANDENSEIN
EINES
WERTS
IN
EINER
LISTE
.
89
PRUEFUNG
AUF
ABWESENHEIT
EINES
WERTS
IN
EINER
LISTE
.
89
BOOLESCHE
AUSDRUECKE
.90
IF-ANWEISUNGEN
.
91
EINFACHE
IF-ANWEISUNGEN
.
91
IF-ELSE-ANWEISUNGEN
.
92
DIE
IF-ELIF-ELSE-KETTE
.
93
MEHRERE
ELIF-BLOECKE
.
95
DEN
ELSE-BLOCK
WEGLASSEN
.
95
MEHRERE
BEDINGUNGEN
PRUEFEN
.
96
IF-ANWEISUNGEN
FUER
LISTEN
.
99
PRUEFUNG
AUF
BESONDERE
ELEMENTE
.
99
PRUEFUNG
AUF
NICHT
LEERE
LISTE
.100
MEHRERE
LISTEN
VERWENDEN
.
101
IF-ANWEISUNGEN
GESTALTEN
.
103
ZUSAMMENFASSUNG
.
104
6
DICTIONARIES
.
EIN
EINFACHES
DICTIONARY
.106
UMGANG
MIT
DICTIONARIES
.106
ZUGRIFF
AUF
DIE
WERTE
IN
EINEM
DICTIONARY
.
107
SCHLUESSEL-WERT-PAARE
HINZUFUEGEN
.
108
EIN
LEERES
DICTIONARY
ALS
AUSGANGSPUNKT
.
108
INHALT
IX
WERTE
IN
EINEM
DICTIONARY
AENDERN
.
109
SCHLUESSEL-WERT-PAARE
ENTFERNEN
.
111
EIN
DICTIONARY
AUS
AEHNLICHEN
OBJEKTEN
.
111
MIT
GET()
AUF
WERTE
ZUGREIFEN
.
113
DICTIONARIES
IN
EINER
SCHLEIFE
DURCHLAUFEN
.
114
ALLE
SCHLUESSEL-WERT-PAARE
DURCHLAUFEN
.
115
ALLE
SCHLUESSEL
IN
EINEM
DICTIONARY
DURCHLAUFEN
.
117
DIE
SCHLUESSEL
IN
EINEM
DICTIONARY
GEORDNET
DURCHLAUFEN
.
119
ALLE
WERTE
IN
EINEM
DICTIONARY
DURCHLAUFEN
.
119
VERSCHACHTELUNG
.
122
DICTIONARIES
IN
EINER
LISTE
.
122
LISTEN
IN
EINEM
DICTIONARY
.
125
DICTIONARIES
IN
EINEM
DICTIONARY
.
127
7
BENUTZEREINGABEN
UND
WHILE-SCHLEIFEN
.
131
DIE
FUNKTION
INPUT()
.
132
KLAR
VERSTAENDLICHE
EINGABEAUFFORDERUNGEN
SCHREIBEN
.
132
VERWENDUNG
VON
INT()
FUER
NUMERISCHE
EINGABEN
.
133
DER
MODULO-OPERATOR
.
135
WHILE-SCHLEIFEN
.
136
WHILE-SCHLEIFEN
IN
AKTION
.
136
PROGRAMMBEENDIGUNG
DURCH
DEN
BENUTZER
.
137
FLAGS
.
139
EINE
SCHLEIFE
MIT
BREAK
VERLASSEN
.
140
DIE
ANWEISUNG
CONTINUE
.
141
ENDLOSSCHLEIFEN
VERMEIDEN
.
142
WHILE-SCHLEIFEN
FUER
LISTEN
UND
DICTIONARIES
.
143
ELEMENTE
VON
EINER
LISTE
IN
EINE
ANDERE
VERSCHIEBEN
.
144
ALLE
VORKOMMEN
EINES
WERTES
AUS
EINER
LISTE
ENTFERNEN
.
145
EIN
DICTIONARY
MIT
BENUTZEREINGABEN
FUELLEN
.
145
ZUSAMMENFASSUNG
.
147
8
FUNKTIONEN
.
149
FUNKTIONEN
DEFINIEREN
.
150
INFORMATIONEN
AN
EINE
FUNKTION
UEBERGEBEN
.
150
ARGUMENTE
UND
PARAMETER
.
151
ARGUMENTE
UEBERGEBEN
.
152
POSITIONSABHAENGIGE
ARGUMENTE
.
152
SCHLUESSELWORTARGUMENTE
.
154
X
INHALT
STANDARDWERTE
.
155
VERSCHIEDENE
FORMEN
FUER
FUNKTIONSAUFRUFE
.156
ARGUMENTFEHLER
VERMEIDEN
.
157
RUECKGABEWERTE
.
158
EINEN
EINFACHEN
WERT
ZURUECKGEBEN
.
158
OPTIONALE
ARGUMENTE
.
159
EIN
DICTIONARY
ZURUECKGEBEN
.
161
FUNKTIONEN
IN
EINER
WHILE-SCHLEIFE
.162
EINE
LISTE
UEBERGEBEN
.164
EINE
LISTE
MITHILFE
EINER
FUNKTION
AENDERN
.
165
DIE
AENDERUNG
EINER
LISTE
IN
EINER
FUNKTION
VERHINDERN
.
168
BELIEBIG
VIELE
ARGUMENTE
UEBERGEBEN
.
169
POSITIONSABHAENGIGE
ARGUMENTE
UND
ARGUMENTE
BELIEBIGER
ANZAHL
KOMBINIEREN
.
170
BELIEBIG
VIELE
SCHLUESSELWORTARGUMENTE
UEBERGEBEN
.
171
FUNKTIONEN
IN
MODULEN
SPEICHERN
.
173
EIN
KOMPLETTES
MODUL
IMPORTIEREN
.
173
EINZELNE
FUNKTIONEN
IMPORTIEREN
.174
EINE
FUNKTION
MIT
AS
UMBENENNEN
.
175
EIN
MODUL
MIT
AS
UMBENENNEN
.176
ALLE
FUNKTIONEN
EINES
MODULS
IMPORTIEREN
.
176
GESTALTUNG
VON
FUNKTIONEN
.
177
ZUSAMMENFASSUNG
.
178
9
KLASSEN
.
181
EINE
KLASSE
ERSTELLEN
UND
VERWENDEN
.
182
DIE
KLASSE
DOG
ERSTELLEN
.
182
EINE
INSTANZ
EINER
KLASSE
ANLEGEN
.184
MIT
KLASSEN
UND
INSTANZEN
ARBEITEN
.
187
DIE
KLASSE
CAR
.
187
EINEN
STANDARDWERT
FUER
EIN
ATTRIBUT
FESTLEGEN
.
188
ATTRIBUTWERTE
BEARBEITEN
.
189
VERERBUNG
.
193
DIE
METHODE
_
INIT
_
()
FUER
EINE
KINDKLASSE
.
193
ATTRIBUTE
UND
METHODEN
DER
KINDKLASSE
DEFINIEREN
.
195
METHODEN
DER
ELTERNKLASSE
UEBERSCHREIBEN
.196
INSTANZEN
ALS
ATTRIBUTE
.
197
REALE
OBJEKTE
MODELLIEREN
.199
INHALT
XI
KLASSEN
IMPORTIEREN
.
200
EINE
EINZELNE
KLASSE
IMPORTIEREN
.201
MEHRERE
KLASSEN
IN
EINEM
MODUL
SPEICHERN
.
202
MEHRERE
KLASSEN
AUS
EINEM
MODUL
IMPORTIEREN
.
204
EIN
GESAMTES
MODUL
IMPORTIEREN
.
204
ALLE
KLASSEN
EINES
MODULS
IMPORTIEREN
.
205
EIN
MODUL
IN
EIN
MODUL
IMPORTIEREN
.
205
ALIASE
VERWENDEN
.
206
IHREN
EIGENEN
ARBEITSABLAUF
FINDEN
.
207
DIE
STANDARDBIBLIOTHEK
VON
PYTHON
.
208
GESTALTUNG
VON
KLASSEN
.
209
ZUSAMMENFASSUNG
.
210
10
DATEIEN
UND
AUSNAHMEN
.
211
AUS
DATEIEN
LESEN
.
212
DEN
INHALT
EINER
DATEI
LESEN
.
212
RELATIVE
UND
ABSOLUTE
DATEIPFADE
.
214
LESEN
DER
ZEILEN
EINER
DATEI
.
215
DATEIINHALTE
VERARBEITEN
.
216
GROSSE
DATEIEN:
EINE
MILLION
STELLEN
.
217
IST
IHR
GEBURTSDATUM
IN
PI
ENTHALTEN?
.
218
IN
DATEIEN
SCHREIBEN
.
220
EINE
EINZELNE
ZEILE
SCHREIBEN
.
220
MEHRERE
ZEILEN
SCHREIBEN
.
220
AUSNAHMEN
.
222
DIVISION
DURCH
NULL
.
222
TRY-EXCEPT-BLOECKE
.
223
ABSTUERZE
MITHILFE
VON
AUSNAHMEN
VERHINDERN
.
224
DER
ELSE-BLOCK
.
225
DATEI
NICHT
GEFUNDEN
.
226
TEXT
ANALYSIEREN
.
UMGANG
MIT
MEHREREN
DATEIEN
.
228
FEHLER
STILLSCHWEIGEND
UEBERGEHEN
.
230
WELCHE
FEHLER
SOLLTEN
SIE
MELDEN
UND
WELCHE
NICHT?
.231
DATEN
SPEICHERN
.
232
JSON.DUMP()
UND
JSON.LOAD()
.
233
BENUTZERGENERIERTE
DATEN
SPEICHERN
UND
LESEN
.
234
REFACTORING
.
236
ZUSAMMENFASSUNG
.
239
XII
INHALT
11
CODE
TESTEN
.
241
PYTEST
MIT
PIP
INSTALLIEREN
.
242
PIP
AKTUALISIEREN
.
242
PYTEST
INSTALLIEREN
.
243
FUNKTIONEN
TESTEN
.
244
UNIT-TESTS
UND
TESTFAELLE
.
245
EIN
BESTANDENER
TEST
.
245
EIN
NICHT
BESTANDENER
TEST
.
247
WAS
TUN
BEI
EINEM
NICHT
BESTANDENEN
TEST?
.
248
NEUE
TESTS
HINZUFUEGEN
.
249
KLASSEN
TESTEN
.
251
VERSCHIEDENE
ANNAHMEN
.
251
EINE
BEISPIELKLASSE
ZUM
TESTEN
.
252
DIE
KLASSE
ANONYMOUSSURVEY
TESTEN
.
254
VERWENDEN
VON
FIXTURES
.
256
ZUSAMMENFASSUNG
.
258
TEIL
2
PROJEKTE
261
ALIEN
INVASION
-
EIN
PYTHON-SPIEL
.261
DATENVISUALISIERUNG
.
262
WEBANWENDUNGEN
.
262
PROJEKT
1:
ALIEN
INVASION
.
263
12
DAS
EIGENE
KAMPFSCHIFF
.
265
DAS
PROJEKT
PLANEN
.
266
PYGAME
INSTALLIEREN
.
267
ERSTE
SCHRITTE
FUER
DAS
SPIELPROJEKT
.
267
EIN
PYGAME-FENSTER
ANLEGEN
UND
AUF
BENUTZEREINGABEN
REAGIEREN
.
267
STEUERUNG
DER
FRAMERATE
.
269
DIE
HINTERGRUNDFARBE
FESTLEGEN
.
270
EINE
KLASSE
FUER
EINSTELLUNGEN
ANLEGEN
.
271
DAS
BILD
EINES
RAUMSCHIFFS
HINZUFUEGEN
.
272
DIE
KLASSE
SHIP
.
273
DAS
SCHIFF
AUF
DEN
BILDSCHIRM
ZEICHNEN
.
275
INHALT
XIII
REFACTORING:
DIE
METHODEN
_CHECK_EVENTS
()
UND
_UPDATE_SCREEN()
.
277
DIE
METHODE
_CHECK_EVENTS()
.
277
DIE
METHODE
_UPDATE_SCREEN()
.
278
DAS
SCHIFF
BEWEGEN
.
279
AUF
TASTENBETAETIGUNGEN
REAGIEREN
.
279
KONTINUIERLICHE
BEWEGUNG
.
280
BEWEGUNG
NACH
RECHTS
UND
LINKS
.
282
DIE
GESCHWINDIGKEIT
DES
SCHIFFES
ANPASSEN
.
283
DEN
BEWEGUNGSBEREICH
DES
SCHIFFES
EINSCHRAENKEN
.
285
REFACTORING
VON
_CHECK_EVENTS
()
.
286
BEENDEN
MIT
Q
.
286
DAS
SPIEL
IM
VOLLBILDMODUS
AUSFUEHREN
.
287
ZWISCHENSTAND
.
288
ALIEN_INVASION.PY
.
288
SETTINGS.PY
.
288
SHIP.PY
.
289
GESCHOSSE
.
289
EINSTELLUNGEN
FUER
GESCHOSSE
HINZUFUEGEN
.
289
DIE
KLASSE
BULLET
.
290
GESCHOSSE
IN
GRUPPEN
SPEICHERN
.291
GESCHOSSE
ABFEUERN
.
292
ALTE
GESCHOSSE
LOESCHEN
.
294
DIE
ANZAHL
DER
GESCHOSSE
BEGRENZEN
.
295
DIE
METHODE
_UPDATE_BULLETS()
.
296
ZUSAMMENFASSUNG
.
297
13
DIE
AUSSERIRDISCHEN
.
299
UEBERBLICK
UEBER
DAS
PROJEKT
.
300
DAS
ERSTE
INVASIONSSCHIFF
.
300
DIE
KLASSE
ALIEN
.
301
EINE
INSTANZ
VON
ALIEN
ERSTELLEN
.
302
DIE
INVASIONSFLOTTE
ERSTELLEN
.
304
REIHEN
VON
INVASIONSSCHIFFEN
ERSTELLEN
.
304
REFACTORING
VON
_CREATE_FLEET(
)
.
306
REIHEN
HINZUFUEGEN
.
306
XIV
INHALT
DIE
FLOTTE
IN
BEWEGUNG
SETZEN
.
309
DIE
INVASOREN
NACH
RECHTS
BEWEGEN
.
309
EINSTELLUNGEN
FUER
DIE
FLUGRICHTUNG
DER
FLOTTE
.311
AUF
RANDBERUEHRUNGEN
PRUEFEN
.
311
SINKEN
UND
FLUGRICHTUNG
AENDERN
.
312
INVASOREN
ABSCHIESSEN
.
313
KOLLISIONEN
VON
GESCHOSSEN
ERKENNEN
.
314
GROESSERE
GESCHOSSE
ZU
TESTZWECKEN
.
315
DIE
FLOTTE
AUFFUELLEN
.
316
DIE
GESCHOSSE
BESCHLEUNIGEN
.
317
REFACTORING
VON
_UPDATE_BULLETS()
.
317
SPIELENDE
.
318
KOLLISIONEN
ZWISCHEN
INVASOREN
UND
DEM
EIGENEN
SCHIFF
ERKENNEN
.
318
AUF
KOLLISIONEN
ZWISCHEN
INVASOREN
UND
DEM
EIGENEN
SCHIFF
REAGIEREN
319
WENN
INVASOREN
DEN
UNTEREN
BILDSCHIRMRAND
ERREICHEN
.
322
GAME
OVER!
.
323
WELCHE
TEILE
DES
SPIELS
MUESSEN
AUSGEFUEHRT
WERDEN?
.
324
ZUSAMMENFASSUNG
.
325
14
DAS
WERTUNGSSYSTEM
.
327
EINE
PLAY-SCHALTFLAECHE
HINZUFUEGEN
.
327
DIE
KLASSE
BUTTON
.
328
DIE
SCHALTFLAECHE
AUF
DEN
BILDSCHIRM
ZEICHNEN
.
330
DAS
SPIEL
STARTEN
.
331
DAS
SPIEL
ZURUECKSETZEN
.
332
DIE
PLAY-SCHALTFLAECHE
DEAKTIVIEREN
.
333
DEN
MAUSZEIGER
AUSBLENDEN
.
333
LEVELS
.
334
DIE
GESCHWINDIGKEITSEINSTELLUNGEN
AENDERN
.
335
DIE
GESCHWINDIGKEIT
ZURUECKSETZEN
.
336
DIE
PUNKTWERTUNG
.
337
DEN
PUNKTESTAND
ANZEIGEN
.
338
EINE
ANZEIGETAFEL
ERSTELLEN
.
339
DEN
PUNKTESTAND
BEI
JEDEM
ABSCHUSS
ERHOEHEN
.
341
DEN
PUNKTESTAND
ZURUECKSETZEN
.
341
INHALT
XV
ALLE
TREFFER
BERUECKSICHTIGEN
.
342
DEN
PUNKTWERT
ERHOEHEN
.
343
DEN
PUNKTESTAND
RUNDEN
.
344
HIGHSCORE
.
345
DAS
LEVEL
ANZEIGEN
.
347
DIE
ANZAHL
DER
VERFUEGBAREN
SCHIFFE
ANZEIGEN
.
350
ZUSAMMENFASSUNG
.
353
PROJEKT
2:
DATENVISUALISIERUNG
.
355
15
DATEN
GENERIEREN
.
357
MATPLOTLIB
INSTALLIEREN
.
358
EINFACHE
LINIENDIAGRAMME
.
359
BESCHRIFTUNG
UND
LINIENSTAERKE
AENDERN
.
360
DAS
DIAGRAMM
KORRIGIEREN
.
361
VORDEFINIERTE
FORMATIERUNGEN
VERWENDEN
.
363
EINZELNE
PUNKTE
MIT
SCATTER()
DARSTELLEN
UND
GESTALTEN
.
364
EINE
FOLGE
VON
PUNKTEN
MIT
SCATTER()
AUSGEBEN
.
365
DATEN
AUTOMATISCH
BERECHNEN
.
366
EIGENE
BESCHRIFTUNGEN
ANLEGEN
.
368
EIGENE
FARBEN
FESTLEGEN
.
368
EINE
COLORMAP
VERWENDEN
.368
DIAGRAMME
AUTOMATISCH
SPEICHERN
.
370
ZUFALLSBEWEGUNGEN
.
370
DIE
KLASSE
RANDOMWALK
.
371
RICHTUNGEN
WAEHLEN
.
371
DEN
ZUFALLSPFAD
ALS
DIAGRAMM
AUSGEBEN
.
373
MEHRERE
ZUFALLSPFADE
ERSTELLEN
.
374
DEN
PFAD
GESTALTEN
.
375
WUERFELN
MIT
PLOTLY
.
380
PLOTLY
INSTALLIEREN
.
381
DIE
KLASSE
DIE
.
381
WUERFELN
.
382
DIE
ERGEBNISSE
ANALYSIEREN
.
382
EIN
HISTOGRAMM
ERSTELLEN
.
383
DAS
DIAGRAMM
ANPASSEN
.
385
ERGEBNISSE
BEI
ZWEI
WUERFELN
.
386
XVI
INHALT
WEITERE
ANPASSUNGEN
.
387
WUERFEL
UNTERSCHIEDLICHER
FLAECHENZAHL
.
388
DIAGRAMME
SPEICHERN
.
389
ZUSAMMENFASSUNG
.
390
16
DATEN
HERUNTERLADEN
.
391
DAS
DATEIFORMAT
CSV
.
392
CSV-SPALTENKOEPFE
ANALYSIEREN
.
392
DIE
SPALTENKOEPFE
UND
IHRE
POSITION
AUSGEBEN
.
394
DATEN
ENTNEHMEN
UND
LESEN
.
394
DATEN
IN
EINEM
TEMPERATURDIAGRAMM
DARSTELLEN
.
395
DAS
MODUL
DATETIME
.
396
DATUMSANGABEN
IM
DIAGRAMM
DARSTELLEN
.
398
EIN
DIAGRAMM
FUER
EINEN
LAENGEREN
ZEITRAUM
.
399
EINE
ZWEITE
DATENREIHE
DARSTELLEN
.
400
EINEN
DIAGRAMMBEREICH
EINFAERBEN
.401
FEHLERPRUEFUNG
.
402
DATEN
SELBST
HERUNTERLADEN
.
406
GLOBALE
DATEN
IM
GEOJSON-FORMAT
VISUALISIEREN
.
407
ERDBEBENDATEN
HERUNTERLADEN
.
408
JSON-DATEN
UNTERSUCHEN
.
408
EINE
LISTE
ALLER
ERDBEBEN
AUFSTELLEN
.
411
DIE
STAERKEN
ENTNEHMEN
.
411
ORTSDATEN
ENTNEHMEN
.
412
EINE
WELTKARTE
ZEICHNEN
.
413
DARSTELLUNG
DER
STAERKE
.
414
DIE
FARBEN
DER
MARKIERUNGEN
ANPASSEN
.
415
WEITERE
FARBPALETTEN
.
417
MAUSTEXT
HINZUFUEGEN
.
417
ZUSAMMENFASSUNG
.
419
17
APIS
.
421
APIS
.
421
GIT
UND
GITHUB
.
422
DATEN
MITHILFE
EINES
API-AUFRUFS
ANFORDERN
.
422
DAS
PAKET
REQUESTS
INSTALLIEREN
.
423
API-ANTWORTEN
VERARBEITEN
.
424
DAS
ANTWORT-DICTIONARY
VERARBEITEN
.
425
INHALT
XVII
EIN
UEBERBLICK
UEBER
DIE
HOECHSTBEWERTETEN
REPOSITORIES
.
428
GRENZWERTE
FUER
DIE
API-AUFRUFRATE
.
429
ANGABEN
ZU
REPOSITORIES
MIT
PLOTLY
VISUALISIEREN
.
430
DAS
DIAGRAMM
GESTALTEN
.431
EIGENEN
MAUSTEXT
HINZUFUEGEN
.
432
LINKS
ZU
DEM
DIAGRAMM
HINZUFUEGEN
.
434
MARKER-FARBEN
ANPASSEN
.
435
MEHR
UEBER
PLOTLY
UND
DIE
GITHUB-API
.
436
DIE
API
VON
HACKER
NEWS
.
436
ZUSAMMENFASSUNG
.
440
PROJEKT
3:
WEBANWENDUNGEN
.
443
18
ERSTE
SCHRITTE
MIT
DJANGO
.
445
EIN
PROJEKT
EINRICHTEN
.
446
EINE
SPEZIFIKATION
SCHREIBEN
.
446
EINE
VIRTUELLE
UMGEBUNG
ERSTELLEN
.
447
DIE
VIRTUELLE
UMGEBUNG
AKTIVIEREN
.
447
DJANGO
INSTALLIEREN
.
448
EIN
PROJEKT
IN
DJANGO
ERSTELLEN
.
449
DIE
DATENBANK
ERSTELLEN
.
449
DAS
PROJEKT
ANZEIGEN
.
450
EINE
APP
ANLEGEN
.
452
MODELLE
DEFINIEREN
.
453
MODELLE
AKTIVIEREN
.
454
DIE
ADMIN-SITE
VON
DJANGO
.
455
DAS
MODELL
FUER
DIE
EINTRAEGE
DEFINIEREN
.
459
DAS
MODELL
ENTRY
IN
DIE
DATENBANK
AUFNEHMEN
.
460
DAS
MODELL
ENTRY
AUF
DER
ADMIN-SITE
REGISTRIEREN
.
460
DIE
DJANGO-SHELL
.
461
SEITEN
ERSTELLEN:
DIE
STARTSEITE
VON
LEARNING
LOG
.
464
EINE
URL
ZUORDNEN
.
465
EINE
ANSICHT
SCHREIBEN
.
467
EINE
VORLAGE
SCHREIBEN
.
467
WEITERE
SEITEN
ERSTELLEN
.
469
VERERBUNG
BEI
VORLAGEN
.
469
DIE
SEITE
TOPICS
.
472
EINZELNE
FACHGEBIETSSEITEN
.
475
ZUSAMMENFASSUNG
.
479
XVIII
INHALT
19
BENUTZERKONTEN
.
481
DATENEINGABE
DURCH
DIE
BENUTZER
.
482
NEUE
FACHGEBIETE
HINZUFUEGEN
.
482
NEUE
EINTRAEGE
HINZUFUEGEN
.
487
EINTRAEGE
BEARBEITEN
.
491
BENUTZERKONTEN
EINRICHTEN
.
495
DIE
APP
ACCOUNTS
.
495
DIE
ANMELDESEITE
.
496
ABMELDEN
.
500
DIE
REGISTRIERUNGSSEITE
.501
DIE
BENUTZER
ALS
BESITZER
IHRER
EIGENEN
DATEN
.
504
DEN
ZUGRIFF
MIT
@LOGIN_REQUIRED
BESCHRAENKEN
.
504
DATEN
MIT
BENUTZERN
VERKNUEPFEN
.
506
DEN
ZUGRIFF
AUF
DIE
FACHGEBIETE
AUF
DIE
ZUSTAENDIGEN
BENUTZER
EINSCHRAENKEN
.
510
DIE
FACHGEBIETE
EINES
BENUTZERS
SCHUETZEN
.511
DIE
SEITE
EDIT_ENTRY
SCHUETZEN
.
512
NEUE
FACHGEBIETE
DEM
AKTUELLEN
BENUTZER
ZUORDNEN
.
512
ZUSAMMENFASSUNG
.
513
20
EINE
APP
GESTALTEN
UND
BEREITSTELLEN
.
515
LEARNING
LOG
GESTALTEN
.
516
DIE
APP
DJANGO-BOOTSTRAP5
.
516
LEARNING
LOG
MIT
BOOTSTRAP
GESTALTEN
.
517
AENDERUNGEN
AN
BASE.HTML
.
518
DIE
STARTSEITE
MIT
EINEM
JUMBOTRON
GESTALTEN
.
524
DAS
ANMELDEFORMULAR
GESTALTEN
.
525
DIE
SEITE
TOPICS
GESTALTEN
.
527
EINTRAEGE
AUF
DEN
FACHGEBIETSSEITEN
GESTALTEN
.
528
LEARNING
LOG
BEREITSTELLEN
.
530
EIN
PLATFORM.SH-KONTO
ANLEGEN
.
530
DIE
PLATFORM.SH-BEFEHLSZEILE
INSTALLIEREN
.
530
PLATFORMSSHCONFIG
INSTALLIEREN
.
531
DIE
DATEI
REQUIREMENTS.TXT
ERSTELLEN
.531
ZUSAETZLICHE
VORAUSSETZUNGEN
FUER
DIE
BEREITSTELLUNG
.
532
KONFIGURATIONSDATEIEN
HINZUFUEGEN
.
532
DIE
KONFIGURATIONSDATEI
SERVICES-YAML
.
535
INHALT
XIX
SETTINGS-PY
FUER
PLATFORM.SH
ANPASSEN
.
536
MIT
GIT
DEN
UEBERBLICK
UEBER
DIE
PROJEKTDATEIEN
BEWAHREN
.
537
DIE
PLATFORM.SH-BEREITSTELLUNG
VERBESSERN
.
542
DAS
ONLINEPROJEKT
SCHUETZEN
.
544
AENDERUNGEN
MIT
COMMIT
BESTAETIGEN
UND
UEBERTRAGEN
.
545
EIGENE
FEHLERSEITEN
ERSTELLEN
.
546
WEITERENTWICKLUNG
DES
PROJEKTS
.
548
PROJEKTE
AUF
PLATFORM.SH
LOESCHEN
.
548
ZUSAMMENFASSUNG
.
550
NACHWORT
.
551
ANHANG
553
A
INSTALLATION
UND
FEHLERBEHEBUNG
.
553
PYTHON
UNTER
WINDOWS
.
553
PY
STATT
PYTHON
.
554
DAS
INSTALLATIONSPROGRAMM
ERNEUT
AUSFUEHREN
.
554
PYTHON
UNTER
MACOS
.
555
VERSEHENTLICHES
INSTALLIEREN
DER
APPLE-VERSION
VON
PYTHON
.
555
PYTHON
2
UND
AELTERE
VERSIONEN
VON
MACOS
.
555
PYTHON
UNTER
LINUX
.
555
DIE
STANDARDINSTALLATION
VORNEHMEN
.
556
DIE
LETZTE
PYTHON-VERSION
INSTALLIEREN
.
556
DIE
VERWENDETE
PYTHON-VERSION
HERAUSFINDEN
.
557
SCHLUESSELWOERTER
UND
INTEGRIERTE
FUNKTIONEN
.
557
PYTHON-SCHLUESSELWOERTER
.
557
INTEGRIERTE
PYTHON-FUNKTIONEN
.
558
B
TEXTEDITOREN
UND
IDES
.
559
EFFIZIENT
MIT
VS
CODE
ARBEITEN
.
561
VS
CODE
KONFIGURIEREN
.
561
TABULATOREN
UND
LEERZEICHEN
VERWENDEN
.
561
DAS
FARBSCHEMA
AENDERN
.
562
DEN
ZEILENLAENGENMARKER
FESTLEGEN
.
562
DIE
AUSGABE
VEREINFACHEN
.
562
KURZBEFEHLE
IN
VS
CODE
.
564
XX
INHALT
CODEBLOECKE
EINRUECKEN
UND
EINRUECKUNGEN
AUFHEBEN
.
564
CODEBLOECKE
AUSKOMMENTIEREN
.
564
WEITERE
TEXTEDITOREN
UND
IDES
.
565
IDLE
.
565
GEANY
.
566
SUBLIME
TEXT
.
566
EMACS
UND
VIM
.
566
PYCHARM
.
567
JUPYTER
NOTEBOOKS
.
567
C
HILFE
FINDEN
.
569
ERSTE
SCHRITTE
.
569
VERSUCHEN
SIE
ES
ERNEUT
.
570
LEGEN
SIE
EINE
PAUSE
EIN
.
570
NUTZEN
SIE
DAS
ONLINEMATERIAL
ZU
DIESEM
BUCH
.
571
ONLINE
NACH
HILFE
SUCHEN
.
571
STACK
OVERFLOW
.
571
DIE
OFFIZIELLE
PYTHON-DOKUMENTATION
.
572
OFFIZIELLE
DOKUMENTATION
DER
BIBLIOTHEKEN
.
572
R/LEARNPYTHON
.
573
BLOGS
.
573
DISCORD
.
.573
SLACK
.
573
D
VERSIONSSTEUERUNG
MIT
GIT
.
575
GIT
INSTALLIEREN
.
576
GIT
KONFIGURIEREN
.
576
EIN
PROJEKT
ANLEGEN
.
577
DATEIEN
IGNORIEREN
.
577
EIN
REPOSITORY
INITIALISIEREN
.
577
DEN
PROJEKTSTATUS
UEBERPRUEFEN
.
578
DATEIEN
ZUM
REPOSITORY
HINZUFUEGEN
.
578
EINEN
COMMIT
DURCHFUEHREN
.
579
DAS
PROTOKOLL
EINSEHEN
.
580
DER
ZWEITE
COMMIT
.
580
AENDERUNGEN
ZURUECKNEHMEN
.
581
VORHERIGE
COMMITS
AUSCHECKEN
.
583
DAS
REPOSITORY
LOESCHEN
.
584
INHALT
XXI
E
VERSIONSSTEUERUNG
MIT
GIT
.
587
GIT
INSTALLIEREN
.
587
GRUNDLGEGENDE
FEHLERSUCHE
.
589
DEN
HINWEISEN
NACHGEHEN
.
589
DAS
PROTOKOLL
ANALYSIEREN
.
590
BETRIEBSSYSTEMSPEZIFISCHE
FEHLERSUCHE
.
592
VON
WINDOWS
BEREITSTELLEN
.
593
WEITERE
ENTWICKLUNGSANSAETZE
.
596
STICHWORTVERZEICHNIS
.
599 |
adam_txt |
INHALT
DER
AUTOR
.
XXIV
DER
FACHGUTACHTER
.
XXIV
DANKSAGUNG
.
XXV
VORWORT
ZUR
DRITTEN
AUFLAGE
.
XXVII
EINLEITUNG
.
XXXI
ZIELGRUPPE
.
XXXII
LERNSTOFF
.
XXXII
ONLINEMATERIAL
.
XXXIV
WARUM
PYTHON?
.
XXXIV
TEIL
1
GRUNDLAGEN
1
1
ERSTE
SCHRITTE
.
3
DIE
PROGRAMMIERUMGEBUNG
EINRICHTEN
.
3
PYTHON-VERSIONEN
.
4
PYTHON-CODEAUSSCHNITTE
AUSFUEHREN
.
4
DER
EDITOR
VS
CODE
.
5
PYTHON
AUF
VERSCHIEDENEN
BETRIEBSSYSTEMEN
.
5
PYTHON
UNTER
WINDOWS
.
5
PYTHON
UNTER
MACOS
.
7
PYTHON
UNTER
LINUX
.
9
DAS
HELLO-WORLD-PROGRAMM
AUSFUEHREN
.
11
DIE
PYTHON-ERWEITERUNG
FUER
VS
CODE
INSTALLIEREN
.
11
HELLO_WORLD.PY
AUSFUEHREN
.
11
FEHLERSUCHE
.
12
VI
INHALT
PYTHON-PROGRAMME
IM
TERMINAL
AUSFUEHREN
.
14
UNTER
WINDOWS
.
14
UNTER
LINUX
UND
MACOS
.
15
ZUSAMMENFASSUNG
.
2
VARIABLEN
UND
EINFACHE
DATENTYPEN
.
17
WAS
BEI
DER
AUSFUEHRUNG
VON
HELLO_WORLD.PY
WIRKLICH
GESCHIEHT
.
17
VARIABLEN
.
18
VARIABLEN
BENENNEN
UND
VERWENDEN
.
19
FEHLER
BEI
VARIABIENNAMEN
VERMEIDEN
.
20
VARIABLEN
SIND
ETIKETTEN
.
21
STRINGS
.
22
GROSS
UND
KLEINSCHREIBUNG
MITHILFE
VON
METHODEN
AENDERN
.
23
VARIABLEN
IN
STRINGS
VERWENDEN
.
24
WEISSRAUM
HINZUFUEGEN
.
25
WEISSRAUM
ENTFERNEN
.
26
ENTFERNEN
VON
PRAEFIXEN
.
27
SYNTAXFEHLER
BEI
DER
STRINGVERARBEITUNG
VERMEIDEN
.
28
ZAHLEN
.30
INTEGER
.
30
FLIESSKOMMAZAHLEN
.
31
INTEGER
UND
FLIESSKOMMAZAHLEN
.
32
UNTERSTRICHE
IN
ZAHLEN
.
32
MEHRFACHZUWEISUNG
.
33
KONSTANTEN
.
33
KOMMENTARE
.
34
WIE
WERDEN
KOMMENTARE
GESCHRIEBEN?
.
34
WAS
FUER
KOMMENTARE
SIND
SINNVOLL?
.34
THE
ZEN
OF
PYTHON
.
35
ZUSAMMENFASSUNG
.
37
3
EINE
EINFUEHRUNG
IN
LISTEN
.
39
WAS
SIND
LISTEN?
.
39
ELEMENTE
IN
EINER
LISTE
ANSPRECHEN
.
40
INDIZES
BEGINNEN
BEI
0,
NICHT
BEI
1
.
41
EINZELNE
WERTE
AUS
EINER
LISTE
VERWENDEN
.
41
INHALT
VII
ELEMENTE
VERAENDERN,
HINZUFUEGEN
UND
ENTFERNEN
.
42
ELEMENTE
IN
EINER
LISTE
AENDERN
.
43
ELEMENTE
ZU
EINER
LISTE
HINZUFUEGEN
.
43
ELEMENTE
AUS
EINER
LISTE
ENTFERNEN
.
45
LISTEN
ORDNEN
.
50
LISTEN
MIT
SORT()
DAUERHAFT
SORTIEREN
.
50
LISTEN
MIT
DER
FUNKTION
SORTED()
VORUEBERGEHEND
SORTIEREN
.
50
LISTEN
IN
UMGEKEHRTER
REIHENFOLGE
AUSGEBEN
.
51
DIE
LAENGE
EINER
LISTE
ERMITTELN
.52
INDEXFEHLER
VERMEIDEN
.
53
ZUSAMMENFASSUNG
.
55
4
MIT
LISTEN
ARBEITEN
.
57
EINE
KOMPLETTE
LISTE
DURCHLAUFEN
.
57
DIE
SCHLEIFE
IM
DETAIL
.
58
WEITERE
AUFGABEN
IN
EINER
FOR-SCHLEIFE
ERLEDIGEN
.
59
AKTIONEN
NACH
DER
FOR-SCHLEIFE
.
61
EINRUECKUNGSFEHLER
VERMEIDEN
.
62
VERGESSENE
EINRUECKUNG
DER
ERSTEN
ZEILE
IN
EINER
SCHLEIFE
.
62
VERGESSENE
EINRUECKUNG
NACHFOLGENDER
ZEILEN
.
63
UNNOETIGE
EINRUECKUNG
.
63
UNNOETIGE
EINRUECKUNG
NACH
EINER
SCHLEIFE
.64
VERGESSENER
DOPPELPUNKT
.
65
NUMERISCHE
LISTEN
.66
DIE
FUNKTION
RANGE()
.66
NUMERISCHE
LISTEN
MITHILFE
VON
RANGE()
AUFSTELLEN
.
67
EINFACHE
STATISTIKEN
FUER
NUMERISCHE
LISTEN
.
69
LISTENNOTATION
.
69
TEILLISTEN
.
71
EINEN
SLICE
ERSTELLEN
.
71
EINEN
SLICE
IN
EINER
SCHLEIFE
DURCHLAUFEN
.
73
LISTEN
KOPIEREN
.
74
TUPEL
.
77
EIN
TUPEL
DEFINIEREN
.
77
DIE
WERTE
IN
EINEM
TUPEL
DURCHLAUFEN
.
78
TUPEL
UEBERSCHREIBEN
.
78
VIII
INHALT
CODE
FORMATIEREN
.
79
DIE
GESTALTUNGSRICHTLINIEN
.
80
EINRUECKUNG
.
80
ZEILENLAENGE
.
80
LEERZEILEN
.
81
ZUSAMMENFASSUNG
.
82
5
.
83
EIN
EINFACHES
BEISPIEL
.
83
BEDINGUNGEN
.
84
PRUEFUNG
AUF
GLEICHHEIT
.
84
GROSS
UND
KLEINSCHREIBUNG
BEI
DER
PRUEFUNG
AUF
GLEICHHEIT
.
85
PRUEFUNG
AUF
UNGLEICHHEIT
.
86
NUMERISCHE
VERGLEICHE
.
87
PRUEFUNG
AUF
MEHRERE
BEDINGUNGEN
.
87
PRUEFUNG
AUF
VORHANDENSEIN
EINES
WERTS
IN
EINER
LISTE
.
89
PRUEFUNG
AUF
ABWESENHEIT
EINES
WERTS
IN
EINER
LISTE
.
89
BOOLESCHE
AUSDRUECKE
.90
IF-ANWEISUNGEN
.
91
EINFACHE
IF-ANWEISUNGEN
.
91
IF-ELSE-ANWEISUNGEN
.
92
DIE
IF-ELIF-ELSE-KETTE
.
93
MEHRERE
ELIF-BLOECKE
.
95
DEN
ELSE-BLOCK
WEGLASSEN
.
95
MEHRERE
BEDINGUNGEN
PRUEFEN
.
96
IF-ANWEISUNGEN
FUER
LISTEN
.
99
PRUEFUNG
AUF
BESONDERE
ELEMENTE
.
99
PRUEFUNG
AUF
NICHT
LEERE
LISTE
.100
MEHRERE
LISTEN
VERWENDEN
.
101
IF-ANWEISUNGEN
GESTALTEN
.
103
ZUSAMMENFASSUNG
.
104
6
DICTIONARIES
.
EIN
EINFACHES
DICTIONARY
.106
UMGANG
MIT
DICTIONARIES
.106
ZUGRIFF
AUF
DIE
WERTE
IN
EINEM
DICTIONARY
.
107
SCHLUESSEL-WERT-PAARE
HINZUFUEGEN
.
108
EIN
LEERES
DICTIONARY
ALS
AUSGANGSPUNKT
.
108
INHALT
IX
WERTE
IN
EINEM
DICTIONARY
AENDERN
.
109
SCHLUESSEL-WERT-PAARE
ENTFERNEN
.
111
EIN
DICTIONARY
AUS
AEHNLICHEN
OBJEKTEN
.
111
MIT
GET()
AUF
WERTE
ZUGREIFEN
.
113
DICTIONARIES
IN
EINER
SCHLEIFE
DURCHLAUFEN
.
114
ALLE
SCHLUESSEL-WERT-PAARE
DURCHLAUFEN
.
115
ALLE
SCHLUESSEL
IN
EINEM
DICTIONARY
DURCHLAUFEN
.
117
DIE
SCHLUESSEL
IN
EINEM
DICTIONARY
GEORDNET
DURCHLAUFEN
.
119
ALLE
WERTE
IN
EINEM
DICTIONARY
DURCHLAUFEN
.
119
VERSCHACHTELUNG
.
122
DICTIONARIES
IN
EINER
LISTE
.
122
LISTEN
IN
EINEM
DICTIONARY
.
125
DICTIONARIES
IN
EINEM
DICTIONARY
.
127
7
BENUTZEREINGABEN
UND
WHILE-SCHLEIFEN
.
131
DIE
FUNKTION
INPUT()
.
132
KLAR
VERSTAENDLICHE
EINGABEAUFFORDERUNGEN
SCHREIBEN
.
132
VERWENDUNG
VON
INT()
FUER
NUMERISCHE
EINGABEN
.
133
DER
MODULO-OPERATOR
.
135
WHILE-SCHLEIFEN
.
136
WHILE-SCHLEIFEN
IN
AKTION
.
136
PROGRAMMBEENDIGUNG
DURCH
DEN
BENUTZER
.
137
FLAGS
.
139
EINE
SCHLEIFE
MIT
BREAK
VERLASSEN
.
140
DIE
ANWEISUNG
CONTINUE
.
141
ENDLOSSCHLEIFEN
VERMEIDEN
.
142
WHILE-SCHLEIFEN
FUER
LISTEN
UND
DICTIONARIES
.
143
ELEMENTE
VON
EINER
LISTE
IN
EINE
ANDERE
VERSCHIEBEN
.
144
ALLE
VORKOMMEN
EINES
WERTES
AUS
EINER
LISTE
ENTFERNEN
.
145
EIN
DICTIONARY
MIT
BENUTZEREINGABEN
FUELLEN
.
145
ZUSAMMENFASSUNG
.
147
8
FUNKTIONEN
.
149
FUNKTIONEN
DEFINIEREN
.
150
INFORMATIONEN
AN
EINE
FUNKTION
UEBERGEBEN
.
150
ARGUMENTE
UND
PARAMETER
.
151
ARGUMENTE
UEBERGEBEN
.
152
POSITIONSABHAENGIGE
ARGUMENTE
.
152
SCHLUESSELWORTARGUMENTE
.
154
X
INHALT
STANDARDWERTE
.
155
VERSCHIEDENE
FORMEN
FUER
FUNKTIONSAUFRUFE
.156
ARGUMENTFEHLER
VERMEIDEN
.
157
RUECKGABEWERTE
.
158
EINEN
EINFACHEN
WERT
ZURUECKGEBEN
.
158
OPTIONALE
ARGUMENTE
.
159
EIN
DICTIONARY
ZURUECKGEBEN
.
161
FUNKTIONEN
IN
EINER
WHILE-SCHLEIFE
.162
EINE
LISTE
UEBERGEBEN
.164
EINE
LISTE
MITHILFE
EINER
FUNKTION
AENDERN
.
165
DIE
AENDERUNG
EINER
LISTE
IN
EINER
FUNKTION
VERHINDERN
.
168
BELIEBIG
VIELE
ARGUMENTE
UEBERGEBEN
.
169
POSITIONSABHAENGIGE
ARGUMENTE
UND
ARGUMENTE
BELIEBIGER
ANZAHL
KOMBINIEREN
.
170
BELIEBIG
VIELE
SCHLUESSELWORTARGUMENTE
UEBERGEBEN
.
171
FUNKTIONEN
IN
MODULEN
SPEICHERN
.
173
EIN
KOMPLETTES
MODUL
IMPORTIEREN
.
173
EINZELNE
FUNKTIONEN
IMPORTIEREN
.174
EINE
FUNKTION
MIT
AS
UMBENENNEN
.
175
EIN
MODUL
MIT
AS
UMBENENNEN
.176
ALLE
FUNKTIONEN
EINES
MODULS
IMPORTIEREN
.
176
GESTALTUNG
VON
FUNKTIONEN
.
177
ZUSAMMENFASSUNG
.
178
9
KLASSEN
.
181
EINE
KLASSE
ERSTELLEN
UND
VERWENDEN
.
182
DIE
KLASSE
DOG
ERSTELLEN
.
182
EINE
INSTANZ
EINER
KLASSE
ANLEGEN
.184
MIT
KLASSEN
UND
INSTANZEN
ARBEITEN
.
187
DIE
KLASSE
CAR
.
187
EINEN
STANDARDWERT
FUER
EIN
ATTRIBUT
FESTLEGEN
.
188
ATTRIBUTWERTE
BEARBEITEN
.
189
VERERBUNG
.
193
DIE
METHODE
_
INIT
_
()
FUER
EINE
KINDKLASSE
.
193
ATTRIBUTE
UND
METHODEN
DER
KINDKLASSE
DEFINIEREN
.
195
METHODEN
DER
ELTERNKLASSE
UEBERSCHREIBEN
.196
INSTANZEN
ALS
ATTRIBUTE
.
197
REALE
OBJEKTE
MODELLIEREN
.199
INHALT
XI
KLASSEN
IMPORTIEREN
.
200
EINE
EINZELNE
KLASSE
IMPORTIEREN
.201
MEHRERE
KLASSEN
IN
EINEM
MODUL
SPEICHERN
.
202
MEHRERE
KLASSEN
AUS
EINEM
MODUL
IMPORTIEREN
.
204
EIN
GESAMTES
MODUL
IMPORTIEREN
.
204
ALLE
KLASSEN
EINES
MODULS
IMPORTIEREN
.
205
EIN
MODUL
IN
EIN
MODUL
IMPORTIEREN
.
205
ALIASE
VERWENDEN
.
206
IHREN
EIGENEN
ARBEITSABLAUF
FINDEN
.
207
DIE
STANDARDBIBLIOTHEK
VON
PYTHON
.
208
GESTALTUNG
VON
KLASSEN
.
209
ZUSAMMENFASSUNG
.
210
10
DATEIEN
UND
AUSNAHMEN
.
211
AUS
DATEIEN
LESEN
.
212
DEN
INHALT
EINER
DATEI
LESEN
.
212
RELATIVE
UND
ABSOLUTE
DATEIPFADE
.
214
LESEN
DER
ZEILEN
EINER
DATEI
.
215
DATEIINHALTE
VERARBEITEN
.
216
GROSSE
DATEIEN:
EINE
MILLION
STELLEN
.
217
IST
IHR
GEBURTSDATUM
IN
PI
ENTHALTEN?
.
218
IN
DATEIEN
SCHREIBEN
.
220
EINE
EINZELNE
ZEILE
SCHREIBEN
.
220
MEHRERE
ZEILEN
SCHREIBEN
.
220
AUSNAHMEN
.
222
DIVISION
DURCH
NULL
.
222
TRY-EXCEPT-BLOECKE
.
223
ABSTUERZE
MITHILFE
VON
AUSNAHMEN
VERHINDERN
.
224
DER
ELSE-BLOCK
.
225
DATEI
NICHT
GEFUNDEN
.
226
TEXT
ANALYSIEREN
.
UMGANG
MIT
MEHREREN
DATEIEN
.
228
FEHLER
STILLSCHWEIGEND
UEBERGEHEN
.
230
WELCHE
FEHLER
SOLLTEN
SIE
MELDEN
UND
WELCHE
NICHT?
.231
DATEN
SPEICHERN
.
232
JSON.DUMP()
UND
JSON.LOAD()
.
233
BENUTZERGENERIERTE
DATEN
SPEICHERN
UND
LESEN
.
234
REFACTORING
.
236
ZUSAMMENFASSUNG
.
239
XII
INHALT
11
CODE
TESTEN
.
241
PYTEST
MIT
PIP
INSTALLIEREN
.
242
PIP
AKTUALISIEREN
.
242
PYTEST
INSTALLIEREN
.
243
FUNKTIONEN
TESTEN
.
244
UNIT-TESTS
UND
TESTFAELLE
.
245
EIN
BESTANDENER
TEST
.
245
EIN
NICHT
BESTANDENER
TEST
.
247
WAS
TUN
BEI
EINEM
NICHT
BESTANDENEN
TEST?
.
248
NEUE
TESTS
HINZUFUEGEN
.
249
KLASSEN
TESTEN
.
251
VERSCHIEDENE
ANNAHMEN
.
251
EINE
BEISPIELKLASSE
ZUM
TESTEN
.
252
DIE
KLASSE
ANONYMOUSSURVEY
TESTEN
.
254
VERWENDEN
VON
FIXTURES
.
256
ZUSAMMENFASSUNG
.
258
TEIL
2
PROJEKTE
261
ALIEN
INVASION
-
EIN
PYTHON-SPIEL
.261
DATENVISUALISIERUNG
.
262
WEBANWENDUNGEN
.
262
PROJEKT
1:
ALIEN
INVASION
.
263
12
DAS
EIGENE
KAMPFSCHIFF
.
265
DAS
PROJEKT
PLANEN
.
266
PYGAME
INSTALLIEREN
.
267
ERSTE
SCHRITTE
FUER
DAS
SPIELPROJEKT
.
267
EIN
PYGAME-FENSTER
ANLEGEN
UND
AUF
BENUTZEREINGABEN
REAGIEREN
.
267
STEUERUNG
DER
FRAMERATE
.
269
DIE
HINTERGRUNDFARBE
FESTLEGEN
.
270
EINE
KLASSE
FUER
EINSTELLUNGEN
ANLEGEN
.
271
DAS
BILD
EINES
RAUMSCHIFFS
HINZUFUEGEN
.
272
DIE
KLASSE
SHIP
.
273
DAS
SCHIFF
AUF
DEN
BILDSCHIRM
ZEICHNEN
.
275
INHALT
XIII
REFACTORING:
DIE
METHODEN
_CHECK_EVENTS
()
UND
_UPDATE_SCREEN()
.
277
DIE
METHODE
_CHECK_EVENTS()
.
277
DIE
METHODE
_UPDATE_SCREEN()
.
278
DAS
SCHIFF
BEWEGEN
.
279
AUF
TASTENBETAETIGUNGEN
REAGIEREN
.
279
KONTINUIERLICHE
BEWEGUNG
.
280
BEWEGUNG
NACH
RECHTS
UND
LINKS
.
282
DIE
GESCHWINDIGKEIT
DES
SCHIFFES
ANPASSEN
.
283
DEN
BEWEGUNGSBEREICH
DES
SCHIFFES
EINSCHRAENKEN
.
285
REFACTORING
VON
_CHECK_EVENTS
()
.
286
BEENDEN
MIT
Q
.
286
DAS
SPIEL
IM
VOLLBILDMODUS
AUSFUEHREN
.
287
ZWISCHENSTAND
.
288
ALIEN_INVASION.PY
.
288
SETTINGS.PY
.
288
SHIP.PY
.
289
GESCHOSSE
.
289
EINSTELLUNGEN
FUER
GESCHOSSE
HINZUFUEGEN
.
289
DIE
KLASSE
BULLET
.
290
GESCHOSSE
IN
GRUPPEN
SPEICHERN
.291
GESCHOSSE
ABFEUERN
.
292
ALTE
GESCHOSSE
LOESCHEN
.
294
DIE
ANZAHL
DER
GESCHOSSE
BEGRENZEN
.
295
DIE
METHODE
_UPDATE_BULLETS()
.
296
ZUSAMMENFASSUNG
.
297
13
DIE
AUSSERIRDISCHEN
.
299
UEBERBLICK
UEBER
DAS
PROJEKT
.
300
DAS
ERSTE
INVASIONSSCHIFF
.
300
DIE
KLASSE
ALIEN
.
301
EINE
INSTANZ
VON
ALIEN
ERSTELLEN
.
302
DIE
INVASIONSFLOTTE
ERSTELLEN
.
304
REIHEN
VON
INVASIONSSCHIFFEN
ERSTELLEN
.
304
REFACTORING
VON
_CREATE_FLEET(
)
.
306
REIHEN
HINZUFUEGEN
.
306
XIV
INHALT
DIE
FLOTTE
IN
BEWEGUNG
SETZEN
.
309
DIE
INVASOREN
NACH
RECHTS
BEWEGEN
.
309
EINSTELLUNGEN
FUER
DIE
FLUGRICHTUNG
DER
FLOTTE
.311
AUF
RANDBERUEHRUNGEN
PRUEFEN
.
311
SINKEN
UND
FLUGRICHTUNG
AENDERN
.
312
INVASOREN
ABSCHIESSEN
.
313
KOLLISIONEN
VON
GESCHOSSEN
ERKENNEN
.
314
GROESSERE
GESCHOSSE
ZU
TESTZWECKEN
.
315
DIE
FLOTTE
AUFFUELLEN
.
316
DIE
GESCHOSSE
BESCHLEUNIGEN
.
317
REFACTORING
VON
_UPDATE_BULLETS()
.
317
SPIELENDE
.
318
KOLLISIONEN
ZWISCHEN
INVASOREN
UND
DEM
EIGENEN
SCHIFF
ERKENNEN
.
318
AUF
KOLLISIONEN
ZWISCHEN
INVASOREN
UND
DEM
EIGENEN
SCHIFF
REAGIEREN
319
WENN
INVASOREN
DEN
UNTEREN
BILDSCHIRMRAND
ERREICHEN
.
322
GAME
OVER!
.
323
WELCHE
TEILE
DES
SPIELS
MUESSEN
AUSGEFUEHRT
WERDEN?
.
324
ZUSAMMENFASSUNG
.
325
14
DAS
WERTUNGSSYSTEM
.
327
EINE
PLAY-SCHALTFLAECHE
HINZUFUEGEN
.
327
DIE
KLASSE
BUTTON
.
328
DIE
SCHALTFLAECHE
AUF
DEN
BILDSCHIRM
ZEICHNEN
.
330
DAS
SPIEL
STARTEN
.
331
DAS
SPIEL
ZURUECKSETZEN
.
332
DIE
PLAY-SCHALTFLAECHE
DEAKTIVIEREN
.
333
DEN
MAUSZEIGER
AUSBLENDEN
.
333
LEVELS
.
334
DIE
GESCHWINDIGKEITSEINSTELLUNGEN
AENDERN
.
335
DIE
GESCHWINDIGKEIT
ZURUECKSETZEN
.
336
DIE
PUNKTWERTUNG
.
337
DEN
PUNKTESTAND
ANZEIGEN
.
338
EINE
ANZEIGETAFEL
ERSTELLEN
.
339
DEN
PUNKTESTAND
BEI
JEDEM
ABSCHUSS
ERHOEHEN
.
341
DEN
PUNKTESTAND
ZURUECKSETZEN
.
341
INHALT
XV
ALLE
TREFFER
BERUECKSICHTIGEN
.
342
DEN
PUNKTWERT
ERHOEHEN
.
343
DEN
PUNKTESTAND
RUNDEN
.
344
HIGHSCORE
.
345
DAS
LEVEL
ANZEIGEN
.
347
DIE
ANZAHL
DER
VERFUEGBAREN
SCHIFFE
ANZEIGEN
.
350
ZUSAMMENFASSUNG
.
353
PROJEKT
2:
DATENVISUALISIERUNG
.
355
15
DATEN
GENERIEREN
.
357
MATPLOTLIB
INSTALLIEREN
.
358
EINFACHE
LINIENDIAGRAMME
.
359
BESCHRIFTUNG
UND
LINIENSTAERKE
AENDERN
.
360
DAS
DIAGRAMM
KORRIGIEREN
.
361
VORDEFINIERTE
FORMATIERUNGEN
VERWENDEN
.
363
EINZELNE
PUNKTE
MIT
SCATTER()
DARSTELLEN
UND
GESTALTEN
.
364
EINE
FOLGE
VON
PUNKTEN
MIT
SCATTER()
AUSGEBEN
.
365
DATEN
AUTOMATISCH
BERECHNEN
.
366
EIGENE
BESCHRIFTUNGEN
ANLEGEN
.
368
EIGENE
FARBEN
FESTLEGEN
.
368
EINE
COLORMAP
VERWENDEN
.368
DIAGRAMME
AUTOMATISCH
SPEICHERN
.
370
ZUFALLSBEWEGUNGEN
.
370
DIE
KLASSE
RANDOMWALK
.
371
RICHTUNGEN
WAEHLEN
.
371
DEN
ZUFALLSPFAD
ALS
DIAGRAMM
AUSGEBEN
.
373
MEHRERE
ZUFALLSPFADE
ERSTELLEN
.
374
DEN
PFAD
GESTALTEN
.
375
WUERFELN
MIT
PLOTLY
.
380
PLOTLY
INSTALLIEREN
.
381
DIE
KLASSE
DIE
.
381
WUERFELN
.
382
DIE
ERGEBNISSE
ANALYSIEREN
.
382
EIN
HISTOGRAMM
ERSTELLEN
.
383
DAS
DIAGRAMM
ANPASSEN
.
385
ERGEBNISSE
BEI
ZWEI
WUERFELN
.
386
XVI
INHALT
WEITERE
ANPASSUNGEN
.
387
WUERFEL
UNTERSCHIEDLICHER
FLAECHENZAHL
.
388
DIAGRAMME
SPEICHERN
.
389
ZUSAMMENFASSUNG
.
390
16
DATEN
HERUNTERLADEN
.
391
DAS
DATEIFORMAT
CSV
.
392
CSV-SPALTENKOEPFE
ANALYSIEREN
.
392
DIE
SPALTENKOEPFE
UND
IHRE
POSITION
AUSGEBEN
.
394
DATEN
ENTNEHMEN
UND
LESEN
.
394
DATEN
IN
EINEM
TEMPERATURDIAGRAMM
DARSTELLEN
.
395
DAS
MODUL
DATETIME
.
396
DATUMSANGABEN
IM
DIAGRAMM
DARSTELLEN
.
398
EIN
DIAGRAMM
FUER
EINEN
LAENGEREN
ZEITRAUM
.
399
EINE
ZWEITE
DATENREIHE
DARSTELLEN
.
400
EINEN
DIAGRAMMBEREICH
EINFAERBEN
.401
FEHLERPRUEFUNG
.
402
DATEN
SELBST
HERUNTERLADEN
.
406
GLOBALE
DATEN
IM
GEOJSON-FORMAT
VISUALISIEREN
.
407
ERDBEBENDATEN
HERUNTERLADEN
.
408
JSON-DATEN
UNTERSUCHEN
.
408
EINE
LISTE
ALLER
ERDBEBEN
AUFSTELLEN
.
411
DIE
STAERKEN
ENTNEHMEN
.
411
ORTSDATEN
ENTNEHMEN
.
412
EINE
WELTKARTE
ZEICHNEN
.
413
DARSTELLUNG
DER
STAERKE
.
414
DIE
FARBEN
DER
MARKIERUNGEN
ANPASSEN
.
415
WEITERE
FARBPALETTEN
.
417
MAUSTEXT
HINZUFUEGEN
.
417
ZUSAMMENFASSUNG
.
419
17
APIS
.
421
APIS
.
421
GIT
UND
GITHUB
.
422
DATEN
MITHILFE
EINES
API-AUFRUFS
ANFORDERN
.
422
DAS
PAKET
REQUESTS
INSTALLIEREN
.
423
API-ANTWORTEN
VERARBEITEN
.
424
DAS
ANTWORT-DICTIONARY
VERARBEITEN
.
425
INHALT
XVII
EIN
UEBERBLICK
UEBER
DIE
HOECHSTBEWERTETEN
REPOSITORIES
.
428
GRENZWERTE
FUER
DIE
API-AUFRUFRATE
.
429
ANGABEN
ZU
REPOSITORIES
MIT
PLOTLY
VISUALISIEREN
.
430
DAS
DIAGRAMM
GESTALTEN
.431
EIGENEN
MAUSTEXT
HINZUFUEGEN
.
432
LINKS
ZU
DEM
DIAGRAMM
HINZUFUEGEN
.
434
MARKER-FARBEN
ANPASSEN
.
435
MEHR
UEBER
PLOTLY
UND
DIE
GITHUB-API
.
436
DIE
API
VON
HACKER
NEWS
.
436
ZUSAMMENFASSUNG
.
440
PROJEKT
3:
WEBANWENDUNGEN
.
443
18
ERSTE
SCHRITTE
MIT
DJANGO
.
445
EIN
PROJEKT
EINRICHTEN
.
446
EINE
SPEZIFIKATION
SCHREIBEN
.
446
EINE
VIRTUELLE
UMGEBUNG
ERSTELLEN
.
447
DIE
VIRTUELLE
UMGEBUNG
AKTIVIEREN
.
447
DJANGO
INSTALLIEREN
.
448
EIN
PROJEKT
IN
DJANGO
ERSTELLEN
.
449
DIE
DATENBANK
ERSTELLEN
.
449
DAS
PROJEKT
ANZEIGEN
.
450
EINE
APP
ANLEGEN
.
452
MODELLE
DEFINIEREN
.
453
MODELLE
AKTIVIEREN
.
454
DIE
ADMIN-SITE
VON
DJANGO
.
455
DAS
MODELL
FUER
DIE
EINTRAEGE
DEFINIEREN
.
459
DAS
MODELL
ENTRY
IN
DIE
DATENBANK
AUFNEHMEN
.
460
DAS
MODELL
ENTRY
AUF
DER
ADMIN-SITE
REGISTRIEREN
.
460
DIE
DJANGO-SHELL
.
461
SEITEN
ERSTELLEN:
DIE
STARTSEITE
VON
LEARNING
LOG
.
464
EINE
URL
ZUORDNEN
.
465
EINE
ANSICHT
SCHREIBEN
.
467
EINE
VORLAGE
SCHREIBEN
.
467
WEITERE
SEITEN
ERSTELLEN
.
469
VERERBUNG
BEI
VORLAGEN
.
469
DIE
SEITE
TOPICS
.
472
EINZELNE
FACHGEBIETSSEITEN
.
475
ZUSAMMENFASSUNG
.
479
XVIII
INHALT
19
BENUTZERKONTEN
.
481
DATENEINGABE
DURCH
DIE
BENUTZER
.
482
NEUE
FACHGEBIETE
HINZUFUEGEN
.
482
NEUE
EINTRAEGE
HINZUFUEGEN
.
487
EINTRAEGE
BEARBEITEN
.
491
BENUTZERKONTEN
EINRICHTEN
.
495
DIE
APP
ACCOUNTS
.
495
DIE
ANMELDESEITE
.
496
ABMELDEN
.
500
DIE
REGISTRIERUNGSSEITE
.501
DIE
BENUTZER
ALS
BESITZER
IHRER
EIGENEN
DATEN
.
504
DEN
ZUGRIFF
MIT
@LOGIN_REQUIRED
BESCHRAENKEN
.
504
DATEN
MIT
BENUTZERN
VERKNUEPFEN
.
506
DEN
ZUGRIFF
AUF
DIE
FACHGEBIETE
AUF
DIE
ZUSTAENDIGEN
BENUTZER
EINSCHRAENKEN
.
510
DIE
FACHGEBIETE
EINES
BENUTZERS
SCHUETZEN
.511
DIE
SEITE
EDIT_ENTRY
SCHUETZEN
.
512
NEUE
FACHGEBIETE
DEM
AKTUELLEN
BENUTZER
ZUORDNEN
.
512
ZUSAMMENFASSUNG
.
513
20
EINE
APP
GESTALTEN
UND
BEREITSTELLEN
.
515
LEARNING
LOG
GESTALTEN
.
516
DIE
APP
DJANGO-BOOTSTRAP5
.
516
LEARNING
LOG
MIT
BOOTSTRAP
GESTALTEN
.
517
AENDERUNGEN
AN
BASE.HTML
.
518
DIE
STARTSEITE
MIT
EINEM
JUMBOTRON
GESTALTEN
.
524
DAS
ANMELDEFORMULAR
GESTALTEN
.
525
DIE
SEITE
TOPICS
GESTALTEN
.
527
EINTRAEGE
AUF
DEN
FACHGEBIETSSEITEN
GESTALTEN
.
528
LEARNING
LOG
BEREITSTELLEN
.
530
EIN
PLATFORM.SH-KONTO
ANLEGEN
.
530
DIE
PLATFORM.SH-BEFEHLSZEILE
INSTALLIEREN
.
530
PLATFORMSSHCONFIG
INSTALLIEREN
.
531
DIE
DATEI
REQUIREMENTS.TXT
ERSTELLEN
.531
ZUSAETZLICHE
VORAUSSETZUNGEN
FUER
DIE
BEREITSTELLUNG
.
532
KONFIGURATIONSDATEIEN
HINZUFUEGEN
.
532
DIE
KONFIGURATIONSDATEI
SERVICES-YAML
.
535
INHALT
XIX
SETTINGS-PY
FUER
PLATFORM.SH
ANPASSEN
.
536
MIT
GIT
DEN
UEBERBLICK
UEBER
DIE
PROJEKTDATEIEN
BEWAHREN
.
537
DIE
PLATFORM.SH-BEREITSTELLUNG
VERBESSERN
.
542
DAS
ONLINEPROJEKT
SCHUETZEN
.
544
AENDERUNGEN
MIT
COMMIT
BESTAETIGEN
UND
UEBERTRAGEN
.
545
EIGENE
FEHLERSEITEN
ERSTELLEN
.
546
WEITERENTWICKLUNG
DES
PROJEKTS
.
548
PROJEKTE
AUF
PLATFORM.SH
LOESCHEN
.
548
ZUSAMMENFASSUNG
.
550
NACHWORT
.
551
ANHANG
553
A
INSTALLATION
UND
FEHLERBEHEBUNG
.
553
PYTHON
UNTER
WINDOWS
.
553
PY
STATT
PYTHON
.
554
DAS
INSTALLATIONSPROGRAMM
ERNEUT
AUSFUEHREN
.
554
PYTHON
UNTER
MACOS
.
555
VERSEHENTLICHES
INSTALLIEREN
DER
APPLE-VERSION
VON
PYTHON
.
555
PYTHON
2
UND
AELTERE
VERSIONEN
VON
MACOS
.
555
PYTHON
UNTER
LINUX
.
555
DIE
STANDARDINSTALLATION
VORNEHMEN
.
556
DIE
LETZTE
PYTHON-VERSION
INSTALLIEREN
.
556
DIE
VERWENDETE
PYTHON-VERSION
HERAUSFINDEN
.
557
SCHLUESSELWOERTER
UND
INTEGRIERTE
FUNKTIONEN
.
557
PYTHON-SCHLUESSELWOERTER
.
557
INTEGRIERTE
PYTHON-FUNKTIONEN
.
558
B
TEXTEDITOREN
UND
IDES
.
559
EFFIZIENT
MIT
VS
CODE
ARBEITEN
.
561
VS
CODE
KONFIGURIEREN
.
561
TABULATOREN
UND
LEERZEICHEN
VERWENDEN
.
561
DAS
FARBSCHEMA
AENDERN
.
562
DEN
ZEILENLAENGENMARKER
FESTLEGEN
.
562
DIE
AUSGABE
VEREINFACHEN
.
562
KURZBEFEHLE
IN
VS
CODE
.
564
XX
INHALT
CODEBLOECKE
EINRUECKEN
UND
EINRUECKUNGEN
AUFHEBEN
.
564
CODEBLOECKE
AUSKOMMENTIEREN
.
564
WEITERE
TEXTEDITOREN
UND
IDES
.
565
IDLE
.
565
GEANY
.
566
SUBLIME
TEXT
.
566
EMACS
UND
VIM
.
566
PYCHARM
.
567
JUPYTER
NOTEBOOKS
.
567
C
HILFE
FINDEN
.
569
ERSTE
SCHRITTE
.
569
VERSUCHEN
SIE
ES
ERNEUT
.
570
LEGEN
SIE
EINE
PAUSE
EIN
.
570
NUTZEN
SIE
DAS
ONLINEMATERIAL
ZU
DIESEM
BUCH
.
571
ONLINE
NACH
HILFE
SUCHEN
.
571
STACK
OVERFLOW
.
571
DIE
OFFIZIELLE
PYTHON-DOKUMENTATION
.
572
OFFIZIELLE
DOKUMENTATION
DER
BIBLIOTHEKEN
.
572
R/LEARNPYTHON
.
573
BLOGS
.
573
DISCORD
.
.573
SLACK
.
573
D
VERSIONSSTEUERUNG
MIT
GIT
.
575
GIT
INSTALLIEREN
.
576
GIT
KONFIGURIEREN
.
576
EIN
PROJEKT
ANLEGEN
.
577
DATEIEN
IGNORIEREN
.
577
EIN
REPOSITORY
INITIALISIEREN
.
577
DEN
PROJEKTSTATUS
UEBERPRUEFEN
.
578
DATEIEN
ZUM
REPOSITORY
HINZUFUEGEN
.
578
EINEN
COMMIT
DURCHFUEHREN
.
579
DAS
PROTOKOLL
EINSEHEN
.
580
DER
ZWEITE
COMMIT
.
580
AENDERUNGEN
ZURUECKNEHMEN
.
581
VORHERIGE
COMMITS
AUSCHECKEN
.
583
DAS
REPOSITORY
LOESCHEN
.
584
INHALT
XXI
E
VERSIONSSTEUERUNG
MIT
GIT
.
587
GIT
INSTALLIEREN
.
587
GRUNDLGEGENDE
FEHLERSUCHE
.
589
DEN
HINWEISEN
NACHGEHEN
.
589
DAS
PROTOKOLL
ANALYSIEREN
.
590
BETRIEBSSYSTEMSPEZIFISCHE
FEHLERSUCHE
.
592
VON
WINDOWS
BEREITSTELLEN
.
593
WEITERE
ENTWICKLUNGSANSAETZE
.
596
STICHWORTVERZEICHNIS
.
599 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Matthes, Eric 1972- |
author_GND | (DE-588)1084802260 |
author_facet | Matthes, Eric 1972- |
author_role | aut |
author_sort | Matthes, Eric 1972- |
author_variant | e m em |
building | Verbundindex |
bvnumber | BV049066566 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)1410707477 (DE-599)BVBBV049066566 |
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 | 3., überarbeitete und 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">BV049066566</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20231130</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">230726s2024 gw a||| |||| 00||| ger d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1293687227</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783864909894</subfield><subfield code="c">Broschur : EUR 32.90 (DE), EUR 33.90 (AT)</subfield><subfield code="9">978-3-86490-989-4</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3864909899</subfield><subfield code="9">3-86490-989-9</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783864909894</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1410707477</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV049066566</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="1" ind2=" "><subfield code="a">ger</subfield><subfield code="h">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-862</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-573n</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-M481</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-83</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="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Matthes, Eric</subfield><subfield code="d">1972-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1084802260</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Python Crashkurs</subfield><subfield code="b">eine praktische, projektbasierte Programmiereinführung</subfield><subfield code="c">Eric Matthes</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3., überarbeitete und aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Heidelberg</subfield><subfield code="b">dpunkt.verlag</subfield><subfield code="c">2024</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxxv, 610 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield><subfield code="c">24 cm x 16.5 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="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">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Analyse</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Apps</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Bibliotheken</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Big Data</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Data Science</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Datenanalyse</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Einführung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">IPython</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Kompaktkurs</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">NumPy</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Pandas</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmierkonzepte</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Pygal</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Python</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Python 3</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Spieleprogrammierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Testen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Visualisierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Webapps</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Webprogrammierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">matplotlib</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">programmieren lernen</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Python</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4434275-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Dpunkt.Verlag (Heidelberg)</subfield><subfield code="0">(DE-588)6085529-0</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, PDF</subfield><subfield code="z">978-3-98890-108-8</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, EPUB</subfield><subfield code="z">978-3-98890-109-5</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, MOBI</subfield><subfield code="z">978-3-988-90-110-1</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="q">text/html</subfield><subfield code="u">https://deposit.dnb.de/cgi-bin/dokserv?id=f284f3be583e497bba7268aecfb28d60&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=034328610&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-034328610</subfield></datafield></record></collection> |
id | DE-604.BV049066566 |
illustrated | Illustrated |
index_date | 2024-07-03T22:26:00Z |
indexdate | 2025-02-20T07:11:36Z |
institution | BVB |
institution_GND | (DE-588)6085529-0 |
isbn | 9783864909894 3864909899 |
language | German English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034328610 |
oclc_num | 1410707477 |
open_access_boolean | |
owner | DE-862 DE-BY-FWS DE-860 DE-1050 DE-859 DE-29T DE-1051 DE-Aug4 DE-1102 DE-523 DE-573 DE-573n DE-898 DE-BY-UBR DE-M481 DE-B768 DE-83 |
owner_facet | DE-862 DE-BY-FWS DE-860 DE-1050 DE-859 DE-29T DE-1051 DE-Aug4 DE-1102 DE-523 DE-573 DE-573n DE-898 DE-BY-UBR DE-M481 DE-B768 DE-83 |
physical | xxxv, 610 Seiten Illustrationen, Diagramme 24 cm x 16.5 cm |
publishDate | 2024 |
publishDateSearch | 2024 |
publishDateSort | 2024 |
publisher | dpunkt.verlag |
record_format | marc |
spellingShingle | Matthes, Eric 1972- Python Crashkurs eine praktische, projektbasierte Programmiereinführung Python Programmiersprache (DE-588)4434275-5 gnd Programmierung (DE-588)4076370-5 gnd |
subject_GND | (DE-588)4434275-5 (DE-588)4076370-5 |
title | Python Crashkurs eine praktische, projektbasierte Programmiereinführung |
title_auth | Python Crashkurs eine praktische, projektbasierte Programmiereinführung |
title_exact_search | Python Crashkurs eine praktische, projektbasierte Programmiereinführung |
title_exact_search_txtP | Python Crashkurs eine praktische, projektbasierte Programmiereinführung |
title_full | Python Crashkurs eine praktische, projektbasierte Programmiereinführung Eric Matthes |
title_fullStr | Python Crashkurs eine praktische, projektbasierte Programmiereinführung Eric Matthes |
title_full_unstemmed | Python Crashkurs eine praktische, projektbasierte Programmiereinführung Eric Matthes |
title_short | Python Crashkurs |
title_sort | python crashkurs eine praktische projektbasierte programmiereinfuhrung |
title_sub | eine praktische, projektbasierte Programmiereinführung |
topic | Python Programmiersprache (DE-588)4434275-5 gnd Programmierung (DE-588)4076370-5 gnd |
topic_facet | Python Programmiersprache Programmierung |
url | https://deposit.dnb.de/cgi-bin/dokserv?id=f284f3be583e497bba7268aecfb28d60&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=034328610&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT mattheseric pythoncrashkurseinepraktischeprojektbasierteprogrammiereinfuhrung AT dpunktverlagheidelberg pythoncrashkurseinepraktischeprojektbasierteprogrammiereinfuhrung |
Beschreibung
THWS Schweinfurt Zentralbibliothek Lesesaal
Signatur: |
2000 ST 250 P99 M436(3) |
---|---|
Exemplar 1 | ausleihbar Checked out – Rückgabe bis: 08.08.2025 Vormerken |