Python to mój pierwszy dynamiczny język. Niedawno zakodowałem wywołanie funkcji, które niepoprawnie podaje nieprawidłową liczbę argumentów. Nie udało się to z wyjątkiem w momencie wywołania tej funkcji. Spodziewałem się, że nawet w języku dynamicznym tego rodzaju błąd można wykryć podczas analizowania pliku źródłowego.
Rozumiem, że typ rzeczywistych argumentów nie jest znany do momentu wywołania funkcji, ponieważ ta sama zmienna może zawierać wartości dowolnego typu w różnym czasie. Ale liczba argumentów jest znana, gdy tylko plik źródłowy jest analizowany. Nie zmieni się podczas działania programu.
Więc to nie jest kwestia filozoficzna
Aby zachować to w zakresie Stack Overflow, pozwólcie, że sformułuję pytanie w ten sposób. Czy jest jakaś funkcja oferowana przez Python, która wymaga od niego opóźnienia sprawdzenia liczby argumentów w wywołaniu funkcji do czasu rzeczywistego wykonania kodu?