Python. Der Sprachkurs für Einsteiger und Individualisten. Willemer Arnold V.

Читать онлайн.



Скачать книгу

hat. Computer dagegen kennen nur zwei Zustände. Entweder es ist Strom auf der Leitung oder nicht. Aber genauso wie die meisten Menschen mit größeren Zahlen als 10 umgehen können, kann auch der Computer nicht nur bis 2 zählen. Durch das Verwenden mehrerer Stellen können beinahe beliebige Zahlen dargestellt werden, ob im Zehner- oder im Binärsystem.

      In den meisten Fällen kann es Ihnen egal sein, wie Ihr Computer seine Zahlen intern darstellt. Ich will Sie damit auch gar nicht länger belästigen. Aber Sie werden feststellen, dass die 2 und ihre Potenzen magische Zahlen für Computer sind. Acht Stellen sind ein Byte. Und da 28 256 ist, können darin 256 Zustände abgespeichert werden. Ein Kilobyte sind 1024 Byte, weil 1024 210 sind. Zur leichteren Unterscheidung vom Kilo Zucker wird das Kilo für Bytes mit einem großen K abgekürzt.

      Die unterschiedlichen Codierungen haben für die Nachkommazahlen fatale Folgen. Sie kennen vielleicht das Ergebnis, wenn Sie in Ihrem Taschenrechner 1 durch 3 teilen. Das erwartete Drittel erscheint als eine endlose Kolonne von Dreien hinter der 0 vor dem Komma. Multiplizieren Sie diese Zahl dann mit 3, werden die meisten Taschenrechner spontan eine Reihe von Neunen auf dem Display haben. Wenn das ein Außerirdischer sähe, der mit drei Fingern geboren ist, würde er sehr verblüfft sein. Denn vermutlich hätte er ein Zahlensystem, das auf der 3 basiert, und kann sich nicht vorstellen, dass ein Drittel mal 3 irgendetwas anderes als 1 ergibt. Und ganz ähnlich geht es dem Computer mit dem menschlichen Zehntel, das binär codiert ebenfalls ein endloser Bruch ist.

      Spicker

      Für den Computer mit seinen zwei Ziffern ist ein Zehntel ein richtig fieser endloser Bruch. Dadurch kommt der Computer beim Rechnen mit Dezimalstellen manchmal zu unsauberen Ergebnissen.

      Der Computer und seine Texte

      Der Computer speichert die Buchstaben natürlich auch in Bytes, die wie erwähnt 256 Zustände kennen. Die englischen Buchstaben umfassen 26 Zeichen. Hinzu kommen die Großbuchstaben und die zehn Ziffern. Das sind also 62 verschiedene Zeichen. Wenn noch ein paar Satzzeichen wie Punkt, Komma und Fragezeichen hinzukommen, sind es schnell mehr als 64 Zeichen, so dass 6 Bits für die Aufnahme aller Zeichen nicht ausreichen. Darum wurden zunächst 7 Bits verwendet, die einen Zeichenvorrat von 128 ermöglichen. Das letzte Bit wurde erst einmal auf 0 belassen. Diese Codierung wurde als ASCII-Zeichensatz (American Standard Code for Information Interchange) genormt.

      Wenn Sie dieses Buch lesen, werden Sie vermutlich die deutsche Sprache verwenden und ahnen, dass die Amerikaner beim ASCII nicht viel Aufwand um die Umlaute getrieben haben. Darum wird das Thema wiederkommen.

      Spicker

      Buchstaben sind aus Sicht des Computers durchnummeriert. Erst bei der Ausgabe werden aus den Zahlen dann Buchstaben. Da aber Buchstaben für uns Menschen so wichtig sind, werden Buchstaben von Computersprachen besonders behandelt.

1.3 Sprachbarrieren zwischen Mensch und Computer

      >Entgegen anderslautenden Gerüchten verstehen Computer uns Menschen gar nicht. Das Herz des Computers, oder besser das Gehirn des Computers, ist der Prozessor, der auch gern CPU (Central Processing Unit) genannt wird. Dieser Prozessor kennt eine übersichtliche Zahl von Befehlen, die einfach durchnummeriert sind. Hinter jedem Befehl steht, mit welcher Adresse oder Wert gearbeitet werden soll, und auch das ist nichts als eine Zahl. Solch einen Zahlensalat kann sich aber kein Mensch merken.

      Um dieses gegenseitige Unverständnis zu überbrücken, sind Programmiersprachen entstanden, die etwas dichter an die Vorstellung des Menschen gerückt sind. Ihre Befehle bestehen aus englischen Wörtern. Damit sie auch der Computer versteht, müssen sie in seine Zahlenbefehle übersetzt werden. Dazu gibt es zwei Techniken:

      • Ein Compiler ist ein Übersetzer, der wie ein Übersetzungsbüro arbeitet. Er nimmt den gesamten Text und übersetzt ihn einmal in die Zielsprache des Computers. Der führt die Übersetzung dann direkt aus. Zur Ausführung des Programms wird dann weder der Originaltext noch der Compiler benötigt.

      • Ein Interpreter übersetzt den Programmtext wie ein Simultandolmetscher. Er liest den Text dem Computer quasi vor und der führt die Befehle quasi parallel aus. Bei jedem Neustart des Programms werden der Interpreter und der Originaltext benötigt.

      Alles so englisch hier!

      Ja, die Computerei ist voller Anglizismen. Die Befehle sind englisch, die Bezeichnungen sind englisch, selbst das Wort Computer ist englisch. Wenn Ihr Englisch nicht so toll ist, muss Sie dies nicht beunruhigen. Sie müssen genauso wenig Englisch lernen wie Ihr Apotheker Latein. Denn obwohl die meisten Präparate in der Apotheke lateinische Namen tragen, wird sich Ihr Apotheker schwertun, Julius Caesars Schriften über den gallischen Krieg im Original zu lesen. Und wozu auch? Seit Gründung der Europäischen Gemeinschaft hat es keine kriegerischen Auseinandersetzungen zwischen Franzosen und Italienern mehr gegeben, wenn wir mal von den Stadienkämpfen während der verschiedenen Fußballturniere absehen.

      Viele Computerbegriffe sind längst übersetzt, sodass man sich damit nicht wehtut. Ein paar angelsächsische Besonderheiten sollten Sie aber im Hinterkopf behalten.

      1. Das Dezimalkomma bei Zahlen ist ein Punkt. Wenn im Programm eine 1.2 steht, ist damit eine deutsche 1,2 gemeint.

      2. Beim Datum nennen die Amerikaner den Monat vor dem Tag.

      3. Die Amerikaner können sich nicht vorstellen, wozu jemand Umlaute gebrauchen kann, der kein Fan von Heavy Metal ist.

      Aber das sind keine Gründe, ein Anglistik-Studium als Voraussetzung für das Erlernen einer Programmiersprache anzusehen.

      Kapitel 2 Annäherung an Python

      Inhalt

      • Python als einfacher, aber mächtiger Einstieg in die Programmierung

      • Beschaffung und Installation aller notwendigen Werkzeuge

      • Gestaltung und Kommentierung von Python-Programmen

      Python ist eine einfache, leicht verständliche Programmiersprache. Damit ist sie ideal für alle, die gern einmal programmieren lernen wollen. Sie gehen nicht ganz zu Unrecht davon aus, dass das wohl alle Programmiersprachen von sich behaupten. Der Erfinder von Python, Guido van Rossum, setzte diese Idee konsequent um, sodass sich sogar eine Art Philosophie daraus entwickelte. Sie finden unter der folgenden URL »The Zen of Python«: http://legacy.python.org/dev/peps/pep-_0020

      So besteht das kleinste Programm bei Python tatsächlich aus nur einer Zeile.

      print("Hallo Welt!")

      Listing 2.1 Hallo Welt auf Python

      Es ist inzwischen Tradition, dass Bücher über Programmiersprachen mit einem Programm beginnen, das einen Gruß an die Welt sendet. Die Funktion print() druckt alles, was in ihren Klammern ist. Die Anführungszeichen besagen, dass es sich hier um Text und nicht etwa um Variablen handelt.

      Hinweis

      Sie stoßen vielleicht auf Python-Programme, in denen hinter print keine Klammern stehen. Tatsächlich war dies in der Version 2 von Python so. Die in diesem Buch behandelte aktuelle Version verwendet bei print Klammern. Da Version 2 an einigen Stellen noch eingesetzt wird, werden Sie von Zeit zu Zeit Hinweise darauf finden.

      Ich könnte bei der Gelegenheit noch einmal die Werbetrommel rühren, dass Python trotz seiner Einfachheit extrem leistungsfähig ist. Aber das ist ja gar nicht mehr nötig, schließlich haben Sie vermutlich das Buch schon gekauft und wollen jetzt Python lernen.

      Python versteht sich mit fast allen Plattformen. Das fängt bei Linux, Mac und Windows an und hört bei Smartphones auf. Programme in Python zu schreiben, hat also den Charme, dass diese dann auf vielen Plattformen laufen können.

      Die Heimat von Python im World Wide Web finden Sie unter www.python.org. Diese ist weitgehend in englischer Sprache gehalten. Aber es gibt auch reichlich deutschsprachige Foren, wo man Ihnen gerne weiterhilft.

2.1 Beschaffung und Installation

      Um in Python programmieren