Die Zeichenfolgenvervielfachung »…*…« in Python
Verknüpft der Operator »*« einen int-Wert mit einem str-Wert, so ergibt sich wieder einer str-Wert, der aus so vielen direkt aufeinanderfolgenden Kopien des str-Werts besteht, wie der int-Wert angibt, oder leer ist, falls der int-Wert kleiner als »1« ist.
(Die Syntax dieses Operators ist weiterhin wie bei der Verknüpfung zweier numerischer Werte.)
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
3 * 'v'
'vvv'
Die Zeichenfolgenvervielfachung verdeutlicht auch noch einmal, daß die Zeichenfolge »'v'« nicht mit einem Apostroph beginnt und endet. Dieser wird erst bei der Ausgabe zur Verdeutlichung hinzugefügt.
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
'ab' * 3
'ababab'
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
1 * 'ab'
'ab'
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0 * 'ab'
''
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
-1 * 'ab'
''
Interne Operationen
Zum Operator »*« gehören verschiedene interne Programme: eines für die numerische Multiplikation und eines für die Zeichenfolgenvervielfachung. (Tatsächlich kann man auch noch zwischen den beiden internen Programmen für die Multiplikation zweier int-Werte und die Multiplikation zweier float-Werte unterscheiden.)
Wenn diese Unterscheidung wichtig ist und das Gemeinte nicht schon durch den Zusammenhang deutlich wird, gebrauchen wir für diese unterschiedlichen internen Programme unterschiedliche Bezeichnungen, wie etwa ‹int*int› für das interne Programm zur Multiplikation zweier int-Werte und ‹int*str› für das interne Programm zur Zeichenfolgenvervielfachung mit einem int- und str-Operanden (in dieser Reihenfolge).
Wenn diese Unterscheidung nicht wichtig ist oder sich das Gemeinte schon aus dem Zusammenhang ergibt, so schreiben wir einfach nur ‹*› für jedes dieser internen Programm.