Python - мой первый динамический язык. Недавно я закодировал вызов функции неправильно, указав неправильное количество аргументов. Это не удалось с исключением в то время, когда вызывалась функция. Я ожидал, что даже на динамическом языке такая ошибка может быть обнаружена при анализе исходного файла.
Я понимаю, что фактические аргументы типа неизвестны до тех пор, пока не будет вызвана функция, потому что одна и та же переменная может содержать значения любого типа в разное время. Но аргумент число известен, как только анализируется исходный файл. Он не будет меняться во время работы программы.
Итак, это не философский вопрос
Чтобы сохранить это в области, позвольте мне рассказать о таком вопросе. Есть ли какая-то особенность, предлагаемая Python, которая требует от нее задержки проверки количества аргументов в вызове функции до тех пор, пока код действительно не выполнит?