Допустим, у меня есть функция, которая принимает Garthok
, Iterable[Garthok]
, Iterable[Iterable[Garthok]]
и т. Д.
def narfle_the_garthoks(arg):
if isinstance(arg, Iterable):
for value in arg:
narfle(arg)
else:
arg.narfle()
Есть ли способ указать подсказку типа для arg, которая указываетчто он принимает любой уровень Iterable
с Garthok
с?Я подозреваю, что нет, но подумал, что проверю, не упустил ли я что-то.
В качестве обходного пути я просто указываю несколько уровней глубиной, а затем заканчиваю Iterable[Any]
.
Union[Garthok,
Iterable[Union[Garthok,
Iterable[Union[Garthok,
Iterable[Union[Garthok, Iterable[Any]]]]]]]]