Einleitung Python¶
Python-Syntax¶
ecu.test wurde in der Scriptsprache Python implementiert. Benutzereingaben wie Formeln, logische Operationen usw. müssen in Python-Syntax erfolgen. Um Benutzern ohne Kenntnisse in Python den Einstieg zu erleichtern, sind in der nachfolgenden Tabelle mögliche Operatoren zusammengefasst.
Name der Operation |
Python-Syntax |
Beispiel |
Bemerkung |
|---|---|---|---|
Addition |
+ |
X + Y |
|
Subtraktion |
- |
X - Y |
|
Multiplikation |
* |
X * Y |
|
Division |
/ |
X / Y |
Ergebnis ist ein float. |
Potenz |
** |
X ** Y |
|
Divisionsrest / Modulo |
% |
X % Y |
Rest der ganzzahligen Division |
Division mit ganzzahliger Abrundung |
// |
X // Y |
Sind beide Operanden ganzzahlig, so ist auch das Ergebnis ganzzahlig. |
Klammerung |
( ) |
(X + Y) * Z |
Geklammerte Ausdrücke werden zuerst berechnet, ansonsten gilt „Punkt vor Strich“ |
Logisches „UND“ (Konjunktion) |
and |
X and Y |
Gibt True oder False zurück |
Logisches „ODER“ (Disjunktion) |
or |
X or Y |
Gibt True oder False zurück |
Logisches „NICHT“ (Negation) |
not |
not X |
|
Bitweises „UND“ |
& |
X & Y |
|
Bitweises „ODER“ |
| |
X | Y |
|
Bitweises „XOR“ (exklusives ODER) |
^ |
X ^ Y |
|
Bitweises „NICHT“ |
~ |
~ X |
|
Bitweise verschieben nach links |
<< |
X << Y |
|
Bitweise verschieben nach rechts |
>> |
X >> Y |
|
Kleiner als |
< |
X < Y |
Gibt True oder False zurück |
Größer als |
> |
X > Y |
Gibt True oder False zurück |
Kleiner oder gleich |
<= |
X <= Y |
Gibt True oder False zurück |
Größer oder gleich |
>= |
X >= Y |
Gibt True oder False zurück |
Gleich |
== |
X == Y |
Gibt True oder False zurück |
Ungleich |
!= |
X != Y |
Gibt True oder False zurück |
Python-Datentypen¶
ecu.test verwendet zur Repräsentation der in den Testfällen vorkommenden Größen die folgenden Datentypen:
Zahlen
Ganze Zahlen (int) in Dezimal-Darstellung
1234, 1234567890546378940
Ganze Zahlen (int) in Oktal-Darstellung
0o177, 0O17777777777777777 (Präfix 0o oder 0O, Groß- bzw. Kleinschreibung egal)
Ganze Zahlen (int) in Hexadezimal-Darstellung
0xFF, 0XFFFFffffFFFFFFFF (Präfix 0x oder 0X, Groß- bzw. Kleinschreibung egal)
Ganze Zahlen (int) in Binär-Darstellung
0b11, 0B101010 (Präfix 0b oder 0B, Groß- bzw. Kleinschreibung egal)
Gleitkommazahlen (float)
3.14e-10, 0.001, 10.0, 1E3 (Punkt statt Komma, e oder E für Zehnerpotenz)
Komplexe Zahlen (complex)
1J, 2+3J, 4+5j (Real- und Imaginärteil durch + getrennt, beide als float, imaginäre Einheit j oder J)
Folgen
Zeichenfolgen/Strings
'','1',"12",'hello\n','hello\x0a'(in einfachen oder doppelten Anführungszeichen,\nfür Zeilenumbruch,\tfür TAB, doppelter Backslash\\für einfachen\, nichtdruckbare Zeichen in Hex-Darstellung\x..)Tupel
(),(1,),(1,2)(Tupel der Länge 1 brauchen ein zusätzliches Komma um sie von geklammerten Ausdrücken zu unterscheiden)Listen
[],['a'],[5, 'hello']indizierter Zugriff
Startindex 0, Negative Indizes zählen vom Ende an, Teilfolgen mit
[von:bis vor]Beispiele:
a = (0,1,2,3,4,5,6,7)a[3] == 3a[-1] == 7a[2:4] == (2,3)a[1:] == (1,2,3,4,5,6,7)a[:3] == (0,1,2)a[:] == (0,1,2,3,4,5,6,7)(Kopie vona)
Dictionaries (Abbildungen)
Paare Schlüssel
:Wert, zwischen geschweiften Klammern{}Zugriff mit
[Schlüssel]:d1 = {}(leere Abbildung)d2 = {1: "Eintrag 1"}d2[1] == "Eintrag 1"
d3 = {'text': 'irgend ein Text', 'zahl': 3}d3['text'] == 'irgend ein Text'd3['zahl'] == 3
Python-Dokumentation¶
Weitere Informationen zu Python gibt es in der offiziellen Python-Dokumentation.
Zum Herunterladen der Dokumentation wählen Sie bitte folgenden Link (Internet erforderlich): Download Python Documentation.