E-Book, Deutsch, 286 Seiten
Reihe: Programmieren mit Python
Systematisch programmieren lernen mit Python
E-Book, Deutsch, 286 Seiten
Reihe: Programmieren mit Python
ISBN: 978-3-96010-508-4
Verlag: O'Reilly
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Jedes Kapitel enthält ein Glossar der Fachbegriffe sowie passende Übungen und Fallstudien, kurze Verständnistests und kleinere Projekte, an denen Sie die neu erlernten Programmierkonzepte gleich ausprobieren können. Auf diese Weise wenden Sie das Gelernte direkt an und festigen Ihr Verständnis für die konkrete Programmierpraxis.
'Allen Downeys Erklärungen sind kristallklar, seine inspirierten Übungen werden Lernende mit unterschiedlichstem Background begeistern.'
- Luciano Ramalho, Thoughtworks
Allen B. Downey ist Professor für Informatik am Olin College of Engineering, Massachusetts. Er hat am Wellesley- und am Colby-College und an der Universität von Berkeley Informatik unterrichtet. Seinen Doktortitel in Informatik hat er an der U.C. Berkeley erworben, seinen Master am MIT. Seine zahlreichen bei O'Reilly erschienenen Bücher sind bekannt für ihre ausgefeilte und praxiserprobte Didaktik.
Weitere Infos & Material
KAPITEL 1
Programme entwickeln
Das Ziel dieses Buchs ist es, Ihnen beizubringen, wie ein Informatiker zu denken. Diese Denkweise kombiniert einige der besten Eigenschaften aus Mathematik, Ingenieurswesen und Naturwissenschaft. Wie Mathematiker verwenden Informatiker formale Sprachen, um Ideen symbolisch darzustellen (genauer gesagt, Berechnungen). Ähnlich wie Ingenieure entwerfen Informatiker Dinge, setzen Komponenten zu Systemen zusammen und suchen einen Kompromiss aus mehreren Alternativen. Und wie Wissenschaftler beobachten sie komplexe Systeme, entwickeln Hypothesen und testen Prognosen. Die allerwichtigste Fähigkeit eines Informatikers besteht darin, Probleme zu lösen. Mit Problemlösung ist die Fähigkeit gemeint, Probleme zu formulieren, kreativ über Lösungen nachzudenken und eine Lösung klar und präzise auszudrücken. Dabei zeigt sich, dass Programmieren zu lernen eine ausgezeichnete Gelegenheit ist, Ihre Problemlösungsfähigkeiten zu trainieren. Deshalb heißt dieses Kapitel auch »Programme entwickeln«. Auf einer Ebene werden Sie das Programmieren lernen – was an sich schon eine nützliche Fähigkeit ist. Auf einer anderen Ebene werden Sie die Programmierung als Mittel zum Zweck kennenlernen. Und im weiteren Verlauf dieses Buchs wird dieser Zweck immer klarer werden. Was ist ein Programm?
Ein Programm ist eine Folge von Anweisungen, die bestimmen, wie eine Berechnung durchgeführt wird. Eine solche Berechnung kann etwas Mathematisches sein wie etwa die Lösung eines Gleichungssystems oder die Bestimmung der Wurzeln eines Polynoms. Es kann sich aber auch um eine symbolische Berechnung handeln, wenn Sie beispielsweise Text in einem Dokument suchen und ersetzen oder ein Programm kompilieren (seltsam, oder?). Die Details sehen natürlich in jeder Programmiersprache anders aus, aber einige grundlegende Anweisungen gibt es in so ziemlich jeder Sprache: Eingabe Daten von der Tastatur, einer Datei oder einem Gerät abrufen Ausgabe Daten auf dem Bildschirm anzeigen oder an eine Datei bzw. ein Gerät senden Mathematische Anweisungen Grundlegende mathematische Berechnungen (wie etwa Addition und Multiplikation) ausführen Bedingte Ausführung Bestimmte Bedingungen prüfen und den entsprechenden Code ausführen Wiederholung Aktionen wiederholt ausführen, meistens in einer bestimmten Variation Ob Sie es glauben oder nicht: Das ist auch schon so ziemlich alles. Jedes Programm, das Sie jemals benutzt haben – unabhängig davon, wie kompliziert es ist –, besteht aus solchen Anweisungen. Insofern können Sie sich die Programmierung als den Vorgang vorstellen, komplizierte Aufgaben in immer kleinere Teilaufgaben zu zerlegen, bis diese einfach genug sind, um sie durch eine dieser grundlegenden Anweisungen zu erledigen. Python ausführen
Eine Herausforderung beim Einstieg in Python besteht darin, dass Sie möglicherweise Python und die dazugehörige Software auf Ihrem Rechner installieren müssen. Wenn Sie mit Ihrem Betriebssystem und insbesondere mit der Kommandozeile vertraut sind, werden Sie mit der Installation von Python keine Schwierigkeiten haben. Doch für den Einsteiger kann es mühsam sein, Systemadministration und Programmierung gleichzeitig lernen zu müssen. Um dieses Problem zu vermeiden, empfehle ich Ihnen, Python im Browser auszuführen. Später, wenn Sie mit Python vertraut sind, gebe ich einige Hinweise zur Installation von Python auf Ihrem Computer. Es gibt eine Reihe von Webseiten, über die Sie Python ausführen können. Falls Sie bereits einen Favoriten haben, nur zu. Anderenfalls empfehle ich PythonAnywhere. Detaillierte englischsprachige Anweisungen für den Einstieg erhalten Sie unter http://tinyurl.com/thinkpython2e. Dieses Buch ist für die Version Python 3 geschrieben, Python 2 wird seit April 2020 nicht mehr unterstützt. Wir haben einige wenige Hinweise zu Unterschieden zwischen den Versionen im Buch beibehalten, damit Sie informiert sind, falls Sie einmal auf Python-2-Code treffen. Der Python-Interpreter ist ein Programm, das Python-Code liest und ausführt. Abhängig von Ihrer Umgebung starten Sie den Interpreter durch einen Klick auf ein Icon oder indem Sie python in der Kommandozeile eingeben. Sobald Sie ihn starten, sehen Sie in etwa Folgendes: Python 3.8.0 (default, Jun 19 2020, 14:20:21) [GCC 10.1] on linux Type "help", "copyright", "credits" or "license" for more information. >>> Die ersten drei Zeilen enthalten Informationen über den Interpreter und das Betriebssystem, unter dem er läuft. Die Ausgabe kann bei Ihnen daher anders aussehen, doch Sie sollten darauf achten, dass die Versionsnummer (hier 3.8.0) mit einer 3 beginnt, was bedeutet, dass Python 3 ausgeführt wird. Beginnt sie stattdessen mit einer 2, läuft (Sie ahnen es) Python 2. Die letzte Zeile ist die sogenannte Eingabeaufforderung (auch Prompt genannt, >>>), die anzeigt, dass der Interpreter bereit ist, Ihren Code zu verarbeiten. Geben Sie eine Zeile Code ein, gibt der Interpreter das Ergebnis aus: >>> 1 + 1 2 Sie sind nun bereit, zu beginnen. Von hier an gehe ich davon aus, dass Sie wissen, wie man den Python-Interpreter startet und Code ausführt. Das erste Programm
Traditionell heißt das erste Programm, das Sie in einer neuen Sprache schreiben, »Hallo, Welt!« – weil es einfach nur die Worte »Hallo, Welt!« ausgibt. In Python sieht das folgendermaßen aus: >>> print('Hallo, Welt!') Das ist ein Beispiel für eine print-Anweisung, die in Wahrheit natürlich nichts »druckt«. Sie zeigt den Wert einfach auf dem Bildschirm an. In diesem Fall lautet das Ergebnis Hallo, Welt! Die Apostrophe in der Programmanweisung kennzeichnen den Anfang und das Ende des anzuzeigenden Texts und erscheinen nicht im Ergebnis. Die Klammern zeigen an, dass print eine Funktion ist. Wir gehen auf Funktionen in Kapitel 3 ein. In Python 2 sieht die print-Anweisung etwas anders aus. Sie ist keine Funktion und verwendet daher keine Klammern. >>> print 'Hello, World!' Arithmetische Operatoren
Nach »Hallo, Welt« ist die Arithmetik der nächste Schritt. Python stellt Operatoren bereit, d. h. spezielle Symbole, die Berechnungen wie Addition und Multiplikation repräsentieren. Die Operatoren +, - und * führen die Addition, Subtraktion und Multiplikation aus. Hier ein Beispiel: >>> 40 + 2 42 >>> 43 - 1 42 >>> 6 * 7 42 Der Operator / führt die Division aus: >>> 84 / 2 42.0 Sie fragen sich vielleicht, warum das Ergebnis 42.0 lautet und nicht einfach 42. Das erkläre ich im nächsten Abschnitt. Zu guter Letzt führt der Operator ** die Potenzierung durch: >>> 6**2 + 6 42 In einigen anderen Sprachen wird ^ für die Potenzierung genutzt, doch bei Python ist das der bitweise Operator XOR. Wenn Sie mit bitweisen Operatoren nicht vertraut sind, wird Sie das Ergebnis überraschen: >>> 6 ^ 2 4 Ich gehe in diesem Buch nicht weiter auf bitweise Operatoren ein, doch Sie können unter http://wiki.python.org/moin/BitwiseOperators mehr über sie erfahren. Werte und Typen
Ein Wert ist eines der grundlegenden Dinge, mit denen ein Programm arbeitet, etwa ein Buchstabe oder eine Zahl. Einige Werte, die wir bisher gesehen haben, sind 2, 42.0 und 'Hallo, Welt!'. Diese Werte gehören zu verschiedenen Typen: 2 ist eine ganze Zahl (Integer), 42.0 ist eine Fließkommazahl, und 'Hallo, Welt!' ist eine Zeichenkette (String), die man so nennt, weil die Buchstaben »aneinandergekettet« sind. Wenn Sie nicht sicher sind, welchen Typ ein Wert hat, kann Ihnen der Interpreter Auskunft geben: >>> type(2)