Предположим, мы хотим ввести подсказку для функции, которая принимает позиционный аргумент и произвольное количество дополнительных аргументов, например
Код: Выделить всё
def foo(a: int, *args: Any) -> None:
for arg in args:
print(a, isinstance(arg, int))
и у нас есть еще одна функция, которая принимает foo, поэтому мы хотим знать, как вводить подсказку foo как саму. Правильно ли написать его как Callable[[int, Any], None]? Я в замешательстве, потому что типов во внутренней квадратной скобке (т. е. [int, Any]) должно быть столько же, сколько аргументов foo - так и должно быть? -- но, очевидно, *args может быть любым количеством аргументов.
Подробнее здесь:
https://stackoverflow.com/questions/729 ... -with-args