Ausdrücke (A)

6.2. Ausdrücke (A)#

Im Vergleich zu natürlichen Sprachen sind Programmiersprachen viel einfacher aufgebaut.

Entwickler:innen versuchen ihre Syntax so zu gestalten, dass sie:

  • unmissverständlich ist,

  • elegant,

  • kurz,

  • und ausdrucksstark.

In der Vergangenheit gelang das nicht immer. Über die Jahre haben wir aber viel dazugelernt.

In diesem Kurs verwenden wir Python insbesondere deshalb, weil es eine der leserlichsten und zugleich mächtigsten Sprachen unserer Zeit ist.

Jedes Programm (bzw. jeder Algorithmus) besteht aus vielen Ausdrücken. Ein Ausdruck beschreibt, wie Daten (die Eingabe) verarbeitet werden sollen.

Die Multiplikation 3 * 5 ist beispielsweise ein Ausdruck der zwei Dezimalzahlen multipliziert. Der Ausdruck besteht aus dem Symbol * und zwei nummerischen Ausdrücken. Die Multiplikation wird durch den Computer, genauer die CPU berechnet. 3 * 5 ergibt 15.

3 * 5
15

Die Syntax einer Programmiersprache ist strikt. Sie wird durch eine sog. Grammatik definiert. Zum Beispiel ist folgender Ausdruck fehlerhaft, da er nicht durch die Grammatik von Python definiert ist. Man sagt auch, dass die Sprache, welche durch die Grammatik definiert ist, den folgenden Ausdruck nicht enthält.

3 * * 5
  Cell In[2], line 1
    3 * * 5
        ^
SyntaxError: invalid syntax

Der Computer bzw. Python-Interpreter weiß mit dieser Folge an Symbolen nichts anzufangen. Wir werden vom Interpreter sachlich auf die mögliche Fehlerursache hingewiesen. Bereits kleine Änderungen an der Syntax können zu einer neuen Bedeutung (Semantik) führen. In Python ist der Ausdruck

3 ** 5
243

syntaktisch korrekt. Seine Semantik ist die Berechnung von \(3^5\), was \(243\) ergibt. In kaum einer anderen Sprache gibt es für die Potenz eine derart kurze Schreibweise.

Dieses Kapitel ist in Unterkapitel aufgeteilt: