в настоящее время нет аннотации, которая могла бы представлять добавление кортежа фиксированной длины с кортежом переменной длины.
вот некоторый код, который я использовал, чтобы определить, как вывод mypy будет обрабатывать что-то вроде этого:
from typing import Tuple
x: Tuple[int, ...]
y = ('hi', *x)
z = (*x,)
reveal_type(y)
reveal_type(z)
и вывод:
$ mypy t.py
t.py:6: error: Revealed type is 'builtins.tuple[builtins.object*]'
t.py:7: error: Revealed type is 'builtins.tuple[builtins.int*]'
несмотря на знание, что это кортеж переменной длины int
, он распадается на object
.
Возможно, вы захотите провести рефакторингваш код для использования Tuple[SignalNode, Tuple[Any, ...]]
вместо