Was viele nicht wissen, ist dass bei der Deklarierung eines Python Tupels die runden Klammern eigentlich nicht zum syntaktischen Konstrukt gehören, sondern nur zur optischen Abgrenzung verwendet werden. Dies bedeutet folgendes:
Eingabe:
x = (1, 2, 3)
print(x)
Ausgabe:
(1, 2, 3)
Doch ebenso:
Eingabe:
x = 1, 2, 3
print(x)
Ausgabe:
(1, 2, 3)
Dies erscheint erst einmal nicht schlimm, oder sogar vielleicht elegant, da man sich Tipparbeit sparen kann, doch diese quasi Inkonsistenz in der Syntax kann zu schwierig zu findenden Fehlern führen, wie z.B. folgendem:
Eingabe:
x = min(1, 2, 3),
print(x)
man beachte das “,” hinter dem call von min()
. Dies führt dann hierzu:
Ausgabe:
(1,)
also einem Tupel, obwohl man einen Integer-Wert erwartet. Ein solcher Bug kann schwer zu finden bzw. zu erkennen sein.
Deshalb ergibt type hinting auch bei Python Sinn.