Python ist meine erste dynamische Sprache. Ich habe kürzlich einen Funktionsaufruf codiert, der falsch eine falsche Anzahl von Argumenten liefert. Dies schlug mit einer Ausnahme zum Zeitpunkt des Aufrufs dieser Funktion fehl. Ich habe erwartet, dass diese Art von Fehler auch in einer dynamischen Sprache erkannt werden kann, wenn die Quelldatei analysiert wird.
Ich verstehe, dass der Typ der tatsächlichen Argumente erst bekannt ist, wenn die Funktion aufgerufen wird, da dieselbe Variable zu unterschiedlichen Zeiten Werte eines beliebigen Typs enthalten kann. Die Anzahl der Argumente ist jedoch bekannt, sobald die Quelldatei analysiert wurde. Es wird sich nicht ändern, während das Programm ausgeführt wird.
Damit dies keine philosophische Frage ist
Lassen Sie mich die Frage so formulieren, um dies im Rahmen des Stapelüberlaufs zu halten. Gibt es eine Funktion, die Python anbietet und die es erfordert, die Überprüfung der Anzahl der Argumente in einem Funktionsaufruf zu verzögern, bis der Code tatsächlich ausgeführt wird?