Lexikalische Einheiten und Leerraum in Python (Lexikalische Einheiten und Leerraum in Python), Lektion, Seite 723764
https://www.purl.org/stefan_ram/pub/leerraum_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Lexikalische Einheiten und Leerraum in Python 

Ein Numerale, wie das Literal »32«, besteht zwar aus zwei  Zeichen, stellt aber eine einzige Einheit (ein bestimmtes Numerale) dar. Solche Schreibweisen werden auch oder lexikalische Einheiten  genannt.

Fast jeder Operator  und jedes Literal  gilt als jeweils eine lexikalische Einheit.
Ausnahmsweise besteht der Klammeroperator aus zwei  lexikalischen Einheiten (jede Klammer gilt als eine lexikalische Einheit).

die bisher behandelten lexikalischen Einheiten
lexikalische Einheit
.----------.
|-|---.--->| Literal |---.--->|-|
| '----------' ^
| .----------. |
'--->| Operator |---'
'----------'
Beispiele lexikalischer Einheiten

'abc'

65

2.3

(

)

Die Zeichen »(«, »)« und das Numerale »2« sind beide jeweils eine lexikalische Einheit. Der Quelltext »( 2 )« besteht also aus drei direkt aufeinanderfolgenden lexikalischen Einheiten.

Das Leerzeichen

Die Lücke, die man in deutschsprachigen Texten zwischen zwei Wörtern macht, wird Leerzeichen  genannt.

Wenn ein Leerzeichen einmal besonders sichtbar gemacht werden soll, wird es auch als »« geschrieben. (Diese Schreibweise kann allerdings nicht in Python  verwendet werden.)

Vergrößerte Darstellung eines sichtbar gemachten Leerzeichens


| |
'-------------------'

Leerzeichen zwischen  lexikalischen Einheiten

Vor oder hinter eine lexikalische Einheit darf immer ein Leerzeichen eingefügt werden, ohne daß dies die Bedeutung eines Quelltextes ändert.

Zwischen die lexikalischen Einheiten »(«, »2« und »)« darf also ein Leerzeichen eingefügt werden, dieses ist aber nicht nötig. Da ein Operator ja keine Ziffern enthalten kann, ist es klar, daß mit der Ziffer »2« eine neue lexikalische Einheit beginnen muß. Es spielt also keine Rolle, ob man ohne  Leerzeichen »(2)« oder mit  Leerzeichen »( 2 )« schreibt.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
(2)
2
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
( 2 )
2

Rückblende Wir hatte bereits den Begriff „Refaktor“ für Änderungen des Quelltextes kennengelernt, welche die Korrektheit eines Programms nicht antasten. Das eben gezeigt Einfügen von Leerraum ist ebenfalls solch ein Refaktor.

Das Leerzeichen innerhalb  lexikalischer Einheiten

In  eine lexikalische Einheit darf kein Leerzeichen eingefügt werden (in dem Sinnen, daß dies zu einer Fehlermeldung oder wenigstens einer anderen Bedeutung des Quelltextes führen würde). Das Numerale »65« darf also nicht als »6 5« geschrieben werden.

Auswertungsversuch (übersetzt und gekürzt)
6 5
Syntax-Fehler

Einfügen eines Leerzeichens in ein Zeichenfolgenliteral führt nicht zu einer Fehlermeldung, aber zu einer entsprechend veränderten Zeichenfolge.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
'ab'
'ab'
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
'a b'
'a b'

Leerraum

Mehrere aufeinanderfolgende Leerzeichen haben zwischen lexikalischen Einheiten keine andere Bedeutung als ein einzelnes Leerzeichen.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
(2       )
2

Wir bezeichnen ein Leerzeichen oder eine Folge aufeinanderfolgende Leerzeichen zwischen lexikalischen Einheiten auch als Leerraum.

Leerraum gilt nicht  als lexikalische Einheit. (Er kann vor  oder nach  lexikalischen Einheiten stehen.)

Einrückungen

Wenn ein Zeile mit Leerzeichen beginnt, sagt man sie sei eingerückt, weil das Hinzufügen von Leerzeichen an den Zeilenanfang als Einrücken  der Zeile bezeichnet wird, und nennt den Leerraum am Zeilenanfang auch Einrückung.

Eine Einrückung hat in Python eine besondere Bedeutung, welche in wir erst später  behandeln werden. Vorerst können wir uns merken, daß wir keine  Einrückung schreiben, weil wir deren Bedeutung noch nicht behandelt haben.

In vielen Fällen führt eine Einrückung auf zu einer Fehlermeldung.

Auswertungsversuch (übersetzt und gekürzt)

(2)

Einrückungsfehler

Das Zeilenende

Zeilenenden an Stelle eines Leerzeichens sind innerhalb von Klammern  zulässig. Dort sind auch Leerzeichen  am Zeilenanfang erlaubt.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
(
2
)
2

Übungsfragen

?   Lexikalische Einheiten zählen

Wie viele lexikalische Einheiten finden sich in dem folgenden Quelltext?

Quelltext
(32)

?   Lexikalische Einheiten zählen (1)

Wie viele lexikalische Einheiten finden sich in dem folgenden Quelltext?

Quelltext
( 32)

Quellen *

Quelle
The Python Language Reference Release 3.6.0, 2.1.9 Whitespace between tokens

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723764 stefan_ram:723764 Lexikalische Einheiten und Leerraum in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723764, slrprddef723764, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/leerraum_python