Hallo
ich lerne gerade Python und verstehe die strenge Typisierung
nicht ganz. Ich habe das so verstanden, dass wenn einer
Variablen ein Wert zugewiesen wird, die Variable intern den
Datentyp des Werts bekommt. Danach kann dieser Variablen kein
Wert mehr zugewiesen werden, die einen anderen Datentyp hat.
Nee, das ist anders. ‚strong typing‘ bedeutet nur, daß
Dir bei Operationen mit unterschiedlichen Datentypen
starke Restriktionen auferlegt werden (strong).
Das ist aber anscheinend nicht korrekt, da folgendes
funktioniert:
Folgendes funktioniert in Perl (die $ Kennzeichnen nur skalare Typen)
$a = "ein string ";
$b = 3;
$c = $a + $b; # numerische Addition, string wird interpretirert
$d = $a . $b; # Stringverkettung, Zahl wird zu string
print " a=$a, b=$b\n c=$c, d=$d\n";
Mit folgendem Resultat:
a=ein string , b=3
c=3, d=ein string 3
In Python würde das aus mehreren Gründen nicht gehen,
es gibt keine implizite Stringkonvertierung nach dem
DWIM-Prinzip (do what I mean) - und es gibt
keine getrennten Operatoren für Verkettung/Addition.
Beide Punkte wären (und waren tatsächlich u.a. auch)
zumindest für mich ein starkes Argument gegen Python.
Grüße
CMb