Подсказка типа Python: введите подсказку функции с помощью *argsPython

Программы на Python
Anonymous
Подсказка типа Python: введите подсказку функции с помощью *args

Сообщение Anonymous »

Предположим, мы хотим ввести подсказку для функции, которая принимает позиционный аргумент и произвольное количество дополнительных аргументов, например

Код: Выделить всё

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

Вернуться в «Python»