Typanforderungen in Python
Typen von Objekten sind Klassen. Alle Klassen sind selber auch wieder Objekte. Der Typ eines Objekts ist also wieder ein Objekt. Werte von Ausdrücken sind auch Objekte.
Das Objekt, welches den Wert des Operanden eines Vorzeichenoperators »-« darstellt, muß eine passende Zahlenklasse (eine numerische Klasse), wie »int« oder »float« als Typ haben (er muß numerisch sein), ein Objekt mit der Klasse ›str‹ ist dort nicht erlaubt.
- Konsolenprotokoll (Fehlermeldung wurde gekürzt und übersetzt)
3**'2'
TypFehler: falscher Operandentyp fuer **: 'int' und 'str'
Es ist in Python nicht möglich, eine int-Zahl mit einer str-Zeichenfolge zu potenzieren, selbst wenn jene str-Zeichenfolge ein Numerale enthält.
Außerdem sieht man, daß Fachbegriffe, wie „Operandentyp“, in Fehlermeldungen verwendet werden. Dies ist eine Motivation zum Erlernen dieser Fachbegriffe.
Typanforderungen werden nicht schon durch die Syntaxdiagramme einer Sprache ausgedrückt, sondern gelten noch zusätzlich zu den Syntaxdiagrammen (Syntaxregeln).
Übungsfragen
? Übungsfrage
Welche der folgende Ausdrücke erfüllen die unten stehende Typanforderung?
A »2**2«
B »2**2.0«
C »2**'2'«
- Typanforderung für einen Vorzeichenausdruck
- Die Werte der Operanden des Potenzierungsoperators »**« müssen eine passende Zahlenklasse (eine numerische Klasse), wie »int« oder »float« als Typ haben (sie müssen numerisch sein), ein Wert mit der Klasse »str« ist nicht als Operand erlaubt.