Vorzeichen in Python (Vorzeichen in Python), Lektion, Seite 723884
https://www.purl.org/stefan_ram/pub/vorzeichen_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Vorzeichen in Python 

Das Zeichen »-« wird „Minus(zeichen)“ genannt.

In dieser Lektion wird vorausgesetzt, daß der Leser den Begriff des negativen Vorzeichens und der negativen Zahl bereits kennt. Die Schreibweise „–65“ ist dem Leser ja wahrscheinlich aus der Schule und/oder dem Alltag auch schon bekannt.

Einführendes Beispiel

Vor einen Ausdruck darf ein Vorzeichenoperator geschrieben werden, um das Vorzeichen des Wertes zu ändern (Vorzeichenoperator »-«) oder beizubehalten (Vorzeichenoperator »+«).

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
-2
-2
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
+2
2
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
-2 ** 2
-4

Syntax

Das folgende Syntaxdiagramm zeigt die bisher vorgestellten Operatoren in Reihenfolge abnehmender Priorität.

Syntaxdiagramm (vereinfacht)

Ausdruck

.---------.
--->| Literal |--->
'---------'

Ausdruck

.-. .----------. .-.
--->( ( )--->| Ausdruck |--->( ) )--->
'-' '----------' '-'

Ausdruck

.----------. .--. .----------.
--->| Ausdruck |--->( ** )--->| Ausdruck |--->
'----------' '--' '----------'

Ausdruck

.-. .----------.
---.--->( - )---.--->| Ausdruck |--->
| '-' | '----------'
| .-. |
'--->( + )---'
'-'

Priorität

Die Priorität der Potenzierung ist größer als die eines vor der Potenz stehenden Vorzeichenoperators.

In »- 2**2« ist die gesamte Potenz Operand des Vorzeichenoperators.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
- 2**2
-4

Der linke  Operand einer Potenzierung kann daher kein Vorzeichenausdruck sein.

Der rechte  Operand einer Potenzierung darf jedoch ein Vorzeichenausdruck sein.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
2 ** -2
0.25

(In »2 ** -2« ist der Vorzeichenausdruck »-2« der rechte Operand des Potenzierungsoperators. Man könnte dies so interpretieren, daß nun der Vorzeichenoperator eine höhere Priorität hat. Das zeigt, daß die Zuordnung von Prioritäten nicht immer alle Aspekte der Syntax darstellen kann, hierfür wären die nicht-vereinfachen Syntaxdiagramme notwendig. Jedoch führt dies hier kaum zu Mißverständnissen, da »2**-2« sinnvollerweise nicht anders interpretiert werden kann also wie in Python.)

Typanforderungen

Der Operand muß numerischen Typ haben.

Typregeln

Der Typ eines Vorzeichenwechsels ist »int« bei Operanden des Typs »int« und »bool«, er ist »float« bei Operanden des Typs »float«.

Semantik

Die Vorzeichenoperatoren wandeln den Typ von bool-Werten nach »int« und lassen den Typ anderer Werte unverändert.

Der Operator »-« multipliziert den Operandenwert mit «-1».

Der Operator »+« läßt den Operandenwert (abgesehen von einer eventuellen Typwandlung) unverändert.

Der Operator »-« steht vor  seinem Operanden. Ein unärer Operator, der vor  seinem Operanden steht, wird Präfixoperator  genannt.

Anmerkungen

Das Potenzieren mit einem negativen Exponenten  ergibt im allgemeinen einen float-Wert, auch wenn beide Operanden den Typ »int« haben.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
2 ** -2
0.25

Das Potenzieren von 0.0 mit einer negativen Zahl führt zu einer Fehlermeldung.

Eingabe eines Ausdrucks und Ausgabe einer Fehlermeldung
0.0 ** -1
ZeroDivisionError: 0.0 cannot be raised to a negative power

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 stefanram723884 stefan_ram:723884 Vorzeichen in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723884, slrprddef723884, 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/vorzeichen_python