Sie sind hier
E-Book

Python 3 - Einsteigen und Durchstarten

Python lernen für Anfänger und Umsteiger. Inkl. Kapitel zu Git und Minecraft Pi

AutorHeiko Kalista
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2018
Seitenanzahl516 Seiten
ISBN9783446456891
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis31,99 EUR

Der fundierte Einstieg in die Python-Programmierung!
•Anschauliche Programmierbeispiele z.B. zu Minecraft auf dem Raspberry Pi helfen Dir beim Durchstarten.
•Anhand von Übungscode lernst Du, wie Du typische Fehler findest, behebst und künftig vermeidest.
•Garantierter Lernerfolg durch: Aufgabenstellung - Tipps für die Lösung - Muster-lösung
Du möchtest beim Python-Lernen schnell vorankommen auch noch Spaß dabei haben? Dann ist dieses Buch genau richtig für Dich. In lockerer Sprache führt Dich Heiko Kalista durch die Grundlagen und fortgeschrittenen Techniken von Python 3.
Jedes Kapitel schließt mit einer kurzen Zusammenfassung, so dass du auch nach einer längeren Pause schnell ins Thema zurückfindest und das Buch auch als Nachschlagewerk nutzen kannst.
Weiterführende Themen wie Debugging und Versionskontrolle mit Git zeigen Dir, wie Du auch größere Projekte erfolgreich umsetzt.
Mit zusätzlichen Aufgaben, Fehlerquelltexten und -lösungen vertiefst Du Dein erworbenes Wissen und schaffst die Basis, um erfolgreich stabile Programme zu entwickeln.
AUS DEM INHALT
•Grundlagen
•Schleifen und Bedingungen
•Funktionen
•Klassen/Objektorientierung
•Container
•Ausnahmebehandlung mit Exceptions
•Module und Pakete
•Dateien und Dateisystem
•GUI-Programmierung mit tkinter
•Debugging - Fehler aufspüren und beseitigen
•Versionsverwaltung mit Git
•Minecraft auf dem Raspberry Pi

Kaufen Sie hier:

Horizontale Tabs

Leseprobe
1Grundlagen
1.1Hältst Du das richtige Buch in den Händen?

Du möchtest die Programmiersprache Python erlernen oder Dein bereits vorhandenes Wissen darin erweitern? Dann bist Du hier genau richtig! Egal ob Du Dich zum ersten Mal mit dem Thema Programmierung auseinandersetzt oder schon Erfahrungen mit anderen Sprachen hast: Dieses Buch wird Dir dabei helfen, Python effektiv zu nutzen. Bereits im ersten Kapitel wirst Du erste Erfolge erzielen und Ergebnisse sehen, ohne Dich zuvor durch einen Theorie-Dschungel kämpfen zu müssen. Die einzigen Voraussetzungen, die Du mitbringen musst, sind Grundkenntnisse im Umgang mit Computern, Experimentierfreudigkeit, Neugier und natürlich auch Geduld. In diesem Buch wird zwar Wert auf einen praxisnahen Einstieg gelegt, aber das bedeutet nicht, dass Du innerhalb weniger Tage besonders ausgeklügelte Anwendungen entwickeln wirst. Das Lernen einer Programmiersprache ist ein stetiger Prozess, der, wie so vieles andere auch, aus Hochs und Tiefs besteht. Ich möchte Dir daher nicht das Versprechen geben, dass Du in x Tagen das Programmieren erlernst. Dafür versichere ich Dir, dass sämtliche Themen mit der nötigen Ausführlichkeit besprochen werden und es immer Tipps und Hilfestellungen geben wird.

Es spielt keine Rolle, welches Betriebssystem Du bevorzugst. Du kannst mit diesem Buch sowohl unter Windows, macOS als auch Linux arbeiten. Alle nötigen Entwicklungswerkzeuge gibt es frei im Netz und werden gleich näher vorgestellt.

Kenntnisse in anderen Programmiersprachen sind zwar vorteilhaft, aber definitiv keine Grundvoraussetzung. Und falls es Dir doch einmal nicht schnell genug geht, kannst Du auch die Zusammenfassung am Ende jedes Kapitels lesen und dann immer noch entscheiden, ob Du das Kapitel Schritt für Schritt durcharbeiten möchtest.

1.2Dieses Buch bricht mit einigen Konventionen!

Ich habe mich dazu entschlossen, mit einigen Konventionen zu brechen. So verzichte ich beispielsweise darauf, gleich zu Beginn auf Themen wie Objektorientierung oder Container einzugehen. Vielmehr lege ich Wert darauf, dass möglichst schnell erste Ergebnisse und Erfolgserlebnisse zu sehen sind. Das bedeutet natürlich nicht, dass auf sauberen Programmierstil oder fortgeschrittene Konzepte verzichtet wird. Allerdings sollten zuerst einige Grundlagen geschaffen werden, damit man weiterführende Themen versteht. Ich werde zugunsten der Lesbarkeit und der Lernkurve auch darauf verzichten, ein neues Thema sofort in all seinen tiefsten Details zu durchleuchten. Möchte jemand beispielsweise das Kochen erlernen, dann fängt er in der Regel mit einem einfachen Rezept an. Wenn nach fünfzehn oder zwanzig Minuten das erste unkomplizierte Essen auf dem Tisch steht, ist das eine tolle Motivation. Die physikalischen und chemischen Prozesse, die während des Kochvorgangs ablaufen, interessieren zunächst noch nicht. Später wird man vielleicht ausgefeilte Rezepte ausprobieren und sich dann ganz von selbst für die Details und Hintergründe interessieren. Hierzu ein kleiner Vergleich anhand eines Rezeptes, das auf unterschiedliche Weise präsentiert wird:

  • Variante 1: Nimm einen schönen großen Topf, fülle ihn mit einem Liter Wasser und streue einen Teelöffel Salz hinein. Stelle den Topf auf den Herd, schalte die Platte auf Stufe 5 und warte, bis das Wasser kocht. Gib nun eine halbe Packung Nudeln hinzu, rühre gelegentlich um und warte, bis diese bissfest sind. Guten Appetit!

  • Variante 2: Besorgen Sie sich einen temperaturbeständigen, oben offenen Behälter (sogenannter „Topf“), der gute Wärmeleiteigenschaften aufweist. Ideal ist das Element Aluminium oder auch eine Legierung, wie etwa Messing. Messen Sie anschließend mit einem geeigneten und möglichst gut geeichten Messbecher exakt einen Liter Dihydrogenmonoxid (ugs. „Wasser“) ab und füllen Sie dieses in den Behälter. Fügen Sie als Nächstes fünf Gramm Natriumchlorid (besser bekannt als „Salz“) hinzu. Dies dient ausschließlich geschmacklichen Zwecken und nicht etwa dem weit verbreiteten Irrtum, dass sich der Siedepunkt durch die Beigabe in einem relevanten Ausmaß ändert. Beachten Sie dabei jedoch, dass der Siedepunkt vom Luftdruck abhängig ist. Sollten Sie sich also in extremen Höhen oder Tiefen befinden, können Sie den Siedepunkt nach folgender Formel berechnen . . .

Auch ohne das Rezept in Variante zwei zu Ende zu führen sollte klar sein, worauf ich hinaus will: Details, Hintergründe und Exaktheit sind durchaus wichtig, aber in dieser Fülle für ein einfaches Beispiel nicht angebracht. Sie können einen erschlagen, die Motivation rauben und vom eigentlichen Geschehen ablenken. Das bedeutet selbstverständlich nicht, dass Themen grundsätzlich oberflächlich behandelt werden. Es geht vielmehr darum, Details auf einen geeigneteren Zeitpunkt zu verschieben.

1.3Die Arbeit mit diesem Buch

Idealerweise arbeitest Du die Kapitel in der angegebenen Reihenfolge durch, denn sie bauen in der Regel auf vorangegangene Kenntnisse auf. Neue Themen werden zunächst erklärt und deren Anwendungsmöglichkeiten anhand von Beispielen verdeutlicht. Damit sich neu Gelerntes festigt, gibt es immer wieder kleine Übungsaufgaben. Sieh diese nicht als lästige Pflicht, sondern als Herausforderung an. Man lernt viel besser, wenn man sich Lösungen selbst erarbeitet, anstatt nur vorgefertigte Beispiele zu laden und zu starten. Natürlich werde ich Dir zu jeder Aufgabe Tipps und Hinweise geben. Im Anschluss gibt es dann eine Musterlösung, die Du mit Deiner eigenen Lösung vergleichen kannst.

Eine besondere Art von Aufgaben sind die sogenannten Fehlerquelltexte. Dabei handelt es sich um Beispiele, in die absichtlich Fehler eingebaut wurden. Diese Fehler führen dazu, dass sich das Programm entweder nicht ausführen lässt, oder dass es nicht so funktioniert wie erwartet. Selbst der erfahrenste Programmierer macht immer wieder Fehler und muss in der Lage sein, diese zu finden und zu korrigieren. Dennoch gibt es ganz bestimmte Stolpersteine, an denen man gerade anfangs immer wieder hängen bleibt. Die Fehlerquelltexte helfen dabei, ein Gespür für typische Fallen zu entwickeln und diese in Zukunft zu umgehen. Dies ist nützlich, um Fehler nicht nur schneller zu finden, sondern sie nach Möglichkeit auch von Anfang an so gut es geht zu vermeiden. Natürlich gibt es auch an dieser Stelle immer einige Tipps, wie man den Fehler eingrenzen, finden und beheben kann. Zudem wird auch eine korrigierte Fassung des Fehlerquelltextes gezeigt.

Abgesehen von den Vorschlägen wie Du am besten mit diesem Buch arbeitest, möchte ich Dir noch einige allgemeine Tipps mit auf den Weg geben. Wie so oft ist es bei neuen Dingen so, dass man anfangs große Fortschritte macht und dann plötzlich an eine Stelle gerät, an der es scheinbar nicht oder nur langsam vorangeht. Neue Themen wirken dann vielleicht übermäßig komplex oder deren Sinn erschließt sich nicht. Das kann manchmal ziemlich frustrierend sein, ist aber völlig normal. Am besten macht man in einer solchen Situation einfach eine längere Pause und beschäftigt sich mit etwas völlig anderem. Idealerweise mit etwas, das nichts mit Computern zu tun hat. Meistens kehrt man dann später mit einem anderen Blickwinkel zu dem Problem zurück und die Dinge scheinen wieder klarer. Auch wenn das vielleicht nach einem recht offensichtlichen Tipp klingt, solltest Du ihn dennoch beherzigen. Programmierung ist eine sehr fordernde Tätigkeit, die Pausen erfordert. „Eine Nacht darüber schlafen“ hat schon so manchem hartnäckigen Programmierfehler den Garaus gemacht und für frische Ideen gesorgt. Manchmal ist es auch hilfreich, sich einem anderen Thema zu widmen, wenn man an einer Stelle nicht weiterkommt. Blättere einfach einmal in vorherige Kapitel zurück oder schnuppere in neue Kapitel hinein.

Das Erlernen einer Programmiersprache (und das Programmieren an sich) kann man mit dem Erlernen eines Musikinstruments vergleichen: Man ist niemals fertig damit und hat nie ausgelernt. Selbst wenn man alle Features einer Programmiersprache kennt, stößt man immer wieder auf neue Programmiertechniken oder Themengebiete. Daher ist es wichtig, immer am Ball zu bleiben, um nicht den Anschluss zu verlieren.

Du solltest auch nicht vergessen, dass die Zeiten vorbei sind, in denen ein einsamer Programmierer im schwach beleuchteten Keller sitzt und völlig auf sich gestellt ein Programm entwickelt. Natürlich ist das immer noch möglich, aber nicht sonderlich sinnvoll. Programmierer sind längt keine winzige Randgruppe mehr, die ihr Wissen völlig neu erarbeitet und dann verschwörerisch hütet. In der heutigen Zeit beschäftigen sich sehr viele Menschen mit diesem Thema und sie tauschen sich über das Internet aus. Anstatt tagelang über einem Problem zu brüten, sucht man im Internet nach einer Lösung. Man kann fast immer davon ausgehen, dass jemand anderes zuvor genau das gleiche Problem hatte und es eine Lösung dafür gibt. Falls nicht, kann man immer noch selbst um Hilfe bitten. Das bedeutet natürlich nicht, dass man nicht selbst nachdenken sollte und sich alles nur noch zusammensuchen muss. Den eigenen Kopf einzuschalten ist die...

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Vorwort16
1 Grundlagen20
1.1 Hältst Du das richtige Buch in den Händen?20
1.2 Dieses Buch bricht mit einigen Konventionen!21
1.3 Die Arbeit mit diesem Buch22
1.4 Das Kapitel zu Minecraft23
1.5 Das Begleitmaterial zum Buch23
1.6 Anregungen? Kritik? Forum?24
1.7 Die Geschichte von Python in 120 Wörtern24
1.8 Was kann man mit Python machen (und was nicht)?25
1.9 Interpreter vs. Compiler26
1.10 Python 2.7 oder 3.7?27
1.11 Die Entwicklungsumgebung PyCharm28
1.11.1 Alternativen zu PyCharm29
1.12 Python-Interpreter installieren29
1.12.1 Python-Interpreter unter Windows installieren30
1.12.2 Python-Interpreter unter macOS installieren31
1.12.3 Python-Interpreter unter Linux installieren31
1.12.4 PyCharm unter Windows installieren32
1.12.5 PyCharm unter macOS installieren32
1.12.6 PyCharm unter Linux installieren33
1.12.7 PyCharm einrichten34
1.13 Genug geredet, los gehts!36
1.13.1 Das erste Programm eingeben37
1.13.2 Ausführen des ersten Beispiels39
1.13.3 Laden der Beispiele39
1.13.4 Der Quelltext im Detail41
1.13.5 Kommentare im Detail42
1.14 PEP8 – um sie ewig zu binden44
1.15 Python-Programme ohne Entwicklungsumgebung starten46
1.15.1 Python-Programme unter Windows starten46
1.15.2 Python-Programme unter Linux oder macOS starten47
1.16 Python interaktiv48
1.17 Aufgabenstellung50
1.18 Kurz & knapp50
2 Variablen52
2.1 Was sind Variablen?52
2.2 Statisch typisiert vs. dynamisch typisiert53
2.3 Einige Details vorab – Variablen sind auch nur Namen55
2.4 Richtlinien für Variablennamen57
2.4.1 Von Kamelen, Schlangen und Pascal57
2.4.2 Sinnvolle Variablennamen58
2.5 Rechnen mit Variablen59
2.5.1 Verkürzte Schreibweise bei Rechenoperationen60
2.5.2 Gibt es noch weitere Datentypen?61
2.5.3 Konvertierung von Datentypen62
2.5.4 Besonderheiten bei der Konvertierung von Datentypen63
2.6 Formatierte Ausgabe mit print()64
2.7 Genauigkeit von Fließkommazahlen66
2.7.1 Formatierte Ausgabe von Fließkommazahlen67
2.8 Den ganzzahligen Rest einer Division bestimmen68
2.9 Konstanten, Konventionen und Restriktionen69
2.10 Fehlerquelltext70
2.10.1 Was ist die Aufgabe des Programms?71
2.10.2 Lösungsvorschlag71
2.10.3 Die gemeinen Kleinigkeiten73
2.11 Aufgabenstellung74
2.11.1 Einige Tipps74
2.11.2 Lösung zur Aufgabenstellung75
2.12 Kurz & knapp76
3 Schleifen und Bedingungen78
3.1 Was sind Schleifen und Bedingungen?78
3.2 Die if-Bedingung79
3.2.1 Blöcke und Einrückungen80
3.2.2 Arbeit sparen mit else81
3.2.3 elif83
3.3 Der Platzhalter pass85
3.4 Blöcke im interaktiven Modus86
3.5 Logische Operatoren86
3.6 PyCharm – Korrekturvorschläge übernehmen89
3.7 while-Schleifen90
3.7.1 Eine Schleife mit break vorzeitig beenden91
3.7.2 continue in while-Schleifen93
3.7.3 while-else94
3.8 for-Schleifen95
3.8.1 Eine einfache Zählschleife96
3.8.2 Ein Wort zu Schleifenvariablen97
3.8.3 Die Funktion range() im Detail98
3.8.4 break und continue in for-Schleifen99
3.8.5 Sonderfall Unterstrich: die Wegwerfvariable100
3.9 Ein kurzer Abstecher: Exceptions101
3.10 Fehlerquelltext102
3.10.1 Was ist die Aufgabe des Programms?103
3.10.2 Lösung zum Fehlerquelltext104
3.11 Aufgabenstellung105
3.11.1 Einige Tipps106
3.11.2 Lösungsvorschlag107
3.12 Ein umfangreicheres Beispiel: Zahlenraten108
3.12.1 Die Hauptschleife111
3.12.2 Ein neues Spiel starten111
3.12.3 Abfrage des Schwierigkeitsgrades und Beenden des Spiels112
3.13 Kurz & knapp112
4 Funktionen116
4.1 Was sind Funktionen?116
4.2 Eine einfache Funktion definieren116
4.3 Parameter, Argumente und Rückgabewert118
4.4 Weitere Möglichkeiten, Funktionen aufzurufen120
4.5 Globale und lokale Variablen122
4.5.1 Ein bisschen mehr Verwirrung, bitte!124
4.5.2 Das Schlüsselwort global125
4.5.3 Auch Parameter sind lokal127
4.5.4 Ein Wort zu globalen Variablen128
4.5.5 Von Schatten und Hauptprogrammen128
4.6 Standardwerte für Parameter132
4.7 Schlüsselwortparameter133
4.8 Wann sollten Funktionen zum Einsatz kommen?135
4.9 Aufgabenstellung136
4.9.1 Lösung zur Aufgabenstellung137
4.10 Vorgehensweise bei größeren Projekten140
4.11 Rekursion141
4.12 Fehlerquelltext142
4.12.1 Was ist die Aufgabe des Programms?143
4.12.2 Lösung zum Fehlerquelltext144
4.13 Kurz & knapp146
5 Klassen150
5.1 Was ist Objektorientierung?150
5.2 Eine einfache Klasse definieren151
5.2.1 Aufbau einer Klasse152
5.2.2 Erzeugen von Objekten153
5.2.3 Verwenden der Objekte154
5.3 Kontrollierter Zugriff auf Attribute: Properties155
5.3.1 Getter155
5.3.2 Setter158
5.3.3 Wann sollten Attribute und wann Properties verwendet werden?159
5.3.4 Nachträgliches Umstellen auf Properties160
5.4 Dynamische Attribute161
5.5 Klassenattribute164
5.5.1 Stolpersteine bei Klassenattributen166
5.6 Statische Methoden168
5.7 Zwischenstand: Braucht man das wirklich?170
5.8 Aufgabenstellung171
5.8.1 Einige Tipps172
5.8.2 Lösungsvorschlag173
5.9 Das Gleiche ist nicht dasselbe175
5.9.1 Für Fortgeschrittene: Parameterübergabe im Detail178
5.10 None180
5.11 Vererbung182
5.11.1 Ein einfaches Beispiel183
5.11.2 Überschreiben von Methoden185
5.12 Wie das Smartphone erfunden wurde – oder: Mehrfachvererbung190
5.13 Für Fortgeschrittene: Binden von Methoden193
5.13.1 Ein Blick hinter die Kulissen193
5.13.2 Klassen um eigene Funktionen erweitern195
5.13.3 Statische Methoden und instanzbezogene Bindung197
5.14 Überschreiben der Methode __str__()201
5.15 Und wo ist der Fehlerquelltext?202
5.16 Kurz & knapp202
6 Container208
6.1 Was sind Container?208
6.1.1 Eine Anmerkung, bevor es losgeht208
6.2 Listen209
6.2.1 Listen erzeugen und auf Elemente zugreifen209
6.2.2 Listen dynamisch erzeugen210
6.2.3 Elemente löschen oder ersetzen212
6.2.4 Aufgabenstellung215
6.2.4.1 Einige Tipps216
6.2.4.2 Lösung zur Aufgabenstellung216
6.2.5 Sortieren von Listen217
6.2.5.1 Eigene Sortierfunktionen219
6.2.5.2 Eine weitere Möglichkeit der Sortierung: sorted221
6.2.5.3 Für Fortgeschrittene: lambda – anonyme Funktionen222
6.2.6 Listen verknüpfen225
6.2.7 Nicht nur für Fortgeschrittene: tiefes und flaches Kopieren226
6.3 Tupel228
6.3.1 Unterschiede zu Listen228
6.3.2 Vorsicht: Instanzen in Tupeln können geändert werden230
6.3.3 Mehrere Rückgabewerte mit Tupeln231
6.3.4 Für Fortgeschrittene: namedtuple233
6.4 Strings235
6.4.1 Für Fortgeschrittene: Darum sind Strings unveränderlich236
6.4.2 Slicing238
6.4.3 Arbeiten mit Strings240
6.4.4 Strings verbinden240
6.4.5 Zerlegen und wieder zusammensetzen: split und join242
6.4.6 Strings „aufbereiten“244
6.4.7 Ändern der Groß- und Kleinschreibung246
6.4.8 Strings durchsuchen247
6.4.9 Aufgabenstellung249
6.4.9.1 Einige Tipps250
6.4.9.2 Lösungsvorschlag250
6.4.10 Ersetzungen durchführen252
6.5 Dictionaries254
6.5.1 Grundlagen von Dictionaries254
6.5.2 Vorsicht beim Zugriff!255
6.5.3 Dictionaries durchlaufen und verändern257
6.5.4 Elemente aus einem Dictionary entfernen259
6.6 Fehlerquelltext261
6.6.1 Was ist die Aufgabe des Programms?261
6.6.2 Lösung zum Fehlerquelltext262
6.7 Sets und Frozensets264
6.7.1 Einfache Sets/Frozensets erzeugen264
6.7.2 Sets: Elemente hinzufügen und entfernen266
6.7.3 Mengenoperationen267
6.8 Kurz & knapp271
7 Exceptions280
7.1 Was sind Exceptions?280
7.2 Fehler? Die passieren mir doch nicht!280
7.3 Die Mechanik von Exceptions282
7.4 Abfangen unterschiedlicher Exceptions284
7.5 Alle Exceptions fangen286
7.6 Eigene Exceptions288
7.7 else und finally291
7.8 Einige allgemeine Tipps294
7.9 Kurz & knapp298
8 Module und Pakete302
8.1 Module302
8.1.1 Grundlagen303
8.1.2 Dokumentation von Modulen305
8.1.3 Umbenennen eines Namensraums307
8.1.4 Selektives Importieren308
8.1.5 Namensräume haben ihren Sinn309
8.1.6 Batteries included!309
8.1.7 Reihenfolge beim Importieren310
8.1.8 Eigene Module in mehreren Projekten nutzen311
8.1.9 Tipps für das Schreiben von Modulen311
8.1.10 Automatische Ausführung beim Import verhindern313
8.2 Pakete314
8.2.1 Importieren von Modulen aus Paketen315
8.2.2 Reguläre Pakete316
8.2.3 Namespace Packages317
8.2.4 Unterscheidung der Paketarten318
8.3 Kurz & knapp319
9 Dateien und Dateisystem322
9.1 Lesen und Schreiben von Dateien322
9.1.1 Eine einfache Textdatei auslesen323
9.1.2 Fehler beim Öffnen von Dateien324
9.1.3 Eine Datei schrittweise auslesen325
9.1.4 Zeilenweises Auslesen von Textdateien327
9.1.5 Textdateien schreiben328
9.1.6 Übersicht möglicher Modi der Funktion open()330
9.1.7 Aufgabenstellung331
9.2 Dateien und Dateisystem331
9.2.1 Verzeichnisse332
9.2.2 Pfade und Prüfung auf deren Existenz333
9.2.3 Pfade und Plattformunabhängigkeit335
9.2.4 Verzeichnisse und Dateien erzeugen und löschen336
9.2.5 Verzeichnisstrukturen erzeugen und löschen339
9.2.6 Umbenennen von Verzeichnissen und Dateien341
9.2.7 Kopieren und Verschieben343
9.3 Kurz & knapp345
10 GUI-Programmierung mit tkinter350
10.1 Warum gerade tkinter?350
10.2 Die Layout-Manager351
10.2.1 Absolute Positionierung351
10.2.2 Der pack-Manager352
10.2.3 Der grid-Manager357
10.2.4 Welcher Manager soll es sein?359
10.3 Flexible Fenstergröße360
10.4 Konfiguration von Widgets363
10.5 Steuerelemente im Detail365
10.5.1 Buttons365
10.5.2 Kontrollvariablen367
10.5.3 Eingabefelder368
10.5.4 Textboxen369
10.5.5 Checkboxen373
10.5.6 Radiobuttons375
10.5.7 Aufgabenstellung376
10.5.8 Lösungsvorschlag377
10.5.9 Listboxen378
10.5.10 Listbox mit Scrollbalken381
10.6 Fehlerquelltext382
10.6.1 Was ist die Aufgabe des Programms?382
10.6.2 Lösung zum Fehlerquelltext383
10.7 Dialogfenster385
10.8 Menüs388
10.8.1 Einfache Menüs388
10.8.2 Untermenüs389
10.9 Kurz & knapp391
11 Debugging396
11.1 Was ist ein Debugger?397
11.2 Eine einfache Fehlersuche397
11.2.1 Haltepunkte setzen und entfernen398
11.2.2 Das Programm durchlaufen und Werte betrachten399
11.2.3 Geht es auch ohne Haltepunkte?402
11.2.4 Interaktive Fehlersuche mit der Python-Konsole403
11.3 Debuggen von Funktionen und Methoden405
11.3.1 In Funktionen springen406
11.3.2 Abschnitte überspringen und Funktionen verlassen407
11.3.3 Clever springen408
11.4 Watches409
11.5 Haltepunkte im Detail411
11.5.1 Ein Beispiel zum Experimentieren411
11.5.2 Verwalten von Haltepunkten412
11.5.3 Unterbrechen oder nicht?416
11.5.4 Bedingte Haltepunkte416
11.5.5 Protokollierung417
11.5.6 Temporäre Haltepunkte418
11.5.7 Verkettete Haltepunkte419
11.5.8 Haltepunkte für Exceptions419
11.5.9 Kombination der Optionen420
11.6 Einsatz in der Praxis421
12 Versionsverwaltung mit Git422
12.1 Der vermeintlich leichte Weg422
12.2 Wie funktionieren Versionskontrollsysteme?423
12.2.1 Verallgemeinerte Arbeitsweise423
12.2.2 Zentrale und verteilte Versionskontrolle424
12.3 Was ist Git?424
12.4 Interessiert mich nicht, ich arbeite alleine!426
12.5 Vorbereitungen426
12.5.1 Git unter Windows installieren426
12.5.2 Git unter macOS installieren427
12.5.3 Git unter Linux installieren428
12.5.4 GitHub428
12.6 Los geht’s – Git lokal verwenden429
12.6.1 Ein bestehendes Projekt unter Versionskontrolle stellen429
12.6.2 Dateien hinzufügen431
12.6.3 Commit/Einchecken432
12.6.4 Änderungen vornehmen und überprüfen433
12.6.5 Änderungen rückgängig machen435
12.6.6 Betrachten der Historie436
12.6.7 Zu älteren Versionen zurückkehren – Möglichkeit 1438
12.6.8 Dateien ignorieren439
12.7 Zusammenarbeit über ein Remote Repository440
12.7.1 Projekt auf GitHub veröffentlichen441
12.7.2 Ein Repository klonen441
12.7.3 Änderungen pushen443
12.7.4 Pull443
12.7.5 Wer hat’s erfunden?444
12.7.6 Automatisches Merging444
12.7.7 Mergen und Konflikte beheben445
12.8 Branching449
12.8.1 Um was geht es?449
12.8.2 Einen Branch erzeugen und damit arbeiten450
12.8.3 Zwischen Branches wechseln452
12.8.4 Branches mergen452
12.8.5 Branches pushen454
12.8.6 Fetch454
12.8.7 Zu älteren Versionen zurückkehren – Möglichkeit 2455
12.9 Weitere nützliche Features455
12.9.1 Stashing – Änderungen temporär speichern456
12.9.2 Commits korrigieren458
12.9.3 Tagging458
12.10 Noch ein paar Tipps459
12.10.1 Zwei einfache Branching-Modelle459
12.10.2 Atomare Commits460
12.10.3 Test-Repository griffbereit halten461
12.10.4 Andere Git-Clients461
12.11 Kurz & knapp462
13 Minecraft auf dem Raspberry Pi466
13.1 Um was geht es in diesem Kapitel?466
13.1.1 Der Raspberry Pi – ein kleines Kraftpaket466
13.1.2 Minecraft Pi467
13.1.3 Was wird benötigt?468
13.2 Der Sprung ins kalte Wasser469
13.3 Die Entwicklungsumgebungen469
13.4 Den Raspberry Pi einrichten470
13.4.1 Erstellen der SD-Karte470
13.4.2 Einstellen des Tastaturlayouts471
13.4.3 Minecraft starten471
13.4.4 Die Steuerung471
13.5 Der erste Testlauf473
13.5.1 Arbeiten mit IDLE473
13.5.2 Arbeiten mit Thonny475
13.6 Das Begleitmaterial476
13.7 Die Minecraft Python API476
13.7.1 Quellen und weitere Informationen:477
13.7.2 Eine Übersicht der Minecraft API477
13.7.3 Die Klasse Minecraft477
13.7.4 Die Klasse CmdCamera480
13.7.5 Die Klasse CmdPlayer481
13.7.6 Die Klasse CmdEntity481
13.7.7 Die Klasse Block482
13.7.7.1 Eine Übersicht der wichtigsten Blöcke482
13.7.8 Noch einmal alles zusammen483
13.8 Beispiele zu Schleifen und Bedingungen485
13.8.1 Blocktypen ausprobieren485
13.8.2 Spielfigur automatisch durch die Welt bewegen487
13.8.3 Eine Treppe bauen488
13.8.4 Eine Pyramide bauen489
13.9 Beispiele zu Funktionen491
13.9.1 Swimmingpools bauen491
13.9.2 Moderne Kunst?493
13.10 Beispiele zu Klassen496
13.10.1 Blöcke regnen lassen496
13.10.2 Blinklichter499
13.11 Beispiele zu Containern502
13.11.1 Lichterkette502
13.11.2 Mengenoperationen504
13.12 Ein Beispiel zu Modulen und Paketen506
13.13 exit() – wie geht es weiter?509
Index510

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

AUTOCAD & Inventor Magazin

AUTOCAD & Inventor Magazin

FÜHREND - Das AUTOCAD & Inventor Magazin berichtet seinen Lesern seit 30 Jahren ausführlich über die Lösungsvielfalt der SoftwareLösungen des Herstellers Autodesk. Die Produkte gehören zu ...

Card Forum International

Card Forum International

Card Forum International, Magazine for Card Technologies and Applications, is a leading source for information in the field of card-based payment systems, related technologies, and required reading ...

crescendo

crescendo

Die Zeitschrift für Blas- und Spielleutemusik in NRW - Informationen aus dem Volksmusikerbund NRW - Berichte aus 23 Kreisverbänden mit über 1000 Blasorchestern, Spielmanns- und Fanfarenzügen - ...

Gastronomie Report

Gastronomie Report

News & Infos für die Gastronomie: Tipps, Trends und Ideen, Produkte aus aller Welt, Innovative Konzepte, Küchentechnik der Zukunft, Service mit Zusatznutzen und vieles mehr. Frech, offensiv, ...

Die Versicherungspraxis

Die Versicherungspraxis

Behandlung versicherungsrelevanter Themen. Erfahren Sie mehr über den DVS. Der DVS Deutscher Versicherungs-Schutzverband e.V, Bonn, ist der Interessenvertreter der versicherungsnehmenden Wirtschaft. ...

dima

dima

Bau und Einsatz von Werkzeugmaschinen für spangebende und spanlose sowie abtragende und umformende Fertigungsverfahren. dima - die maschine - bietet als Fachzeitschrift die Kommunikationsplattform ...

F- 40

F- 40

Die Flugzeuge der Bundeswehr, Die F-40 Reihe behandelt das eingesetzte Fluggerät der Bundeswehr seit dem Aufbau von Luftwaffe, Heer und Marine. Jede Ausgabe befasst sich mit der genaue Entwicklungs- ...