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, \n für Zeilenumbruch, \t fü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] == 3

      • a[-1] == 7

      • a[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 von a)


  • 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.