Die Syntax des Vorzeichenoperators in Python
Syntaxlektionen, wie diese, behandeln die Syntax vorgestellter Sprachelemente etwas genauer, können aber beim ersten Lesen übersprungen werden.
Der Operand kann ein Literal oder Potenzierungsausdruck sein.
Syntax
Eine Potenz besteht aus einem Literal und einem Vorzeichenausdruck. Zwischen beiden steht der Potenzierungsoperator »**«.
- Syntaxdiagramm
Potenz
.---------------------------------------.
| |
.---------. | .--. .--------------------. v
--->| Literal |---'--->( ** )--->| Vorzeichenausdruck |---'--->
'---------' '--' '--------------------'Vorzeichenausdruck
.--------------------.
--->.------------>| Potenz |----.---->
| '--------------------' ^
| .-. .--------------------. |
'--->( - )--->| Vorzeichenausdruck |----'
| '-' '--------------------' |
| .-. .--------------------. |
'--->( + )--->| Vorzeichenausdruck |----'
'-' '--------------------'Ausdruck
.---------------------.
--->| Vorzeichenausdruck |--->
'---------------------'
Die Operanden des Potenzoperators heißen Basis und Exponent (in dieser Reihenfolge).
Die Definition syntaktischer Kategorien aus einer Lektionen wird in einer ihr folgenden Lektionen oft verändert, um die Syntax zu an neu vorgestellte Sprachelemente anzupassen. Beispielsweise enthielt die Produktionsregel für „Vorzeichenausdruck“ früher in ihrer ersten Zeile „Literal“, wo jetzt „Potenz“ steht.
Übungsfragen ʸ
- Syntaxdiagramm
Potenz
.---------------------------------------.
| |
.---------. | .--. .--------------------. v
--->| Literal |---'--->( ** )--->| Vorzeichenausdruck |---'--->
'---------' '--' '--------------------'Vorzeichenausdruck
.--------------------.
--->.------------>| Potenz |----.---->
| '--------------------' ^
| .-. .--------------------. |
'--->( - )--->| Vorzeichenausdruck |----'
| '-' '--------------------' |
| .-. .--------------------. |
'--->( + )--->| Vorzeichenausdruck |----'
'-' '--------------------'Ausdruck
.---------------------.
--->| Vorzeichenausdruck |--->
'---------------------'
? Operanden ʸ
Welcher Potenzoperator (der linke oder der rechte) »2 ** 1 ** 3« befindet sich in einem Operanden? Was müßte demnach der Wert dieses Ausdrucks sein?
? Operanden (1) ʸ
Welche Operanden gibt es in dem folgenden Ausdruck (es sind insgesamt 4)?
- Ausdruck
2 ** 1 ** 3
? Operanden (2) ʸ
Welcher Operator des Vorzeichenausdrucks »-2**2« befindet sich in einem Operanden? Was müßte demnach der Wert des gesamten Ausdrucks sein?
- Ausdruck in Python
-2**2
-4
- in der Mathematik
- −2² = −(2²) = −4
- in VBA (Konsole)
?-2^2
-4
- in JavaScript (Konsole
-2**2
SyntaxError: unparenthesized unary expression can't appear on the left-hand side of '**'
? Operanden (3) ʸ
Ist »2 ** - 3« syntaktisch erlaubt? Welchen Wert hat der Ausdruck gegebenenfalls?
- Syntaxdiagramm
Potenz
.---------------------------------------.
| |
.---------. | .--. .--------------------. v
--->| Literal |---'--->( ** )--->| Vorzeichenausdruck |---'--->
'---------' '--' '--------------------'Vorzeichenausdruck
.--------------------.
--->.------------>| Potenz |----.---->
| '--------------------' ^
| .-. .--------------------. |
'--->( - )--->| Vorzeichenausdruck |----'
| '-' '--------------------' |
| .-. .--------------------. |
'--->( + )--->| Vorzeichenausdruck |----'
'-' '--------------------'Ausdruck
.---------------------.
--->| Vorzeichenausdruck |--->
'---------------------'- Quelle zur Syntax des Potenzoperators
The Python Language Reference, Release 3.7.0a1 6.5