Как обозначить тип аргумента функции "любая последовательность"?
Есть функция:
def func(a: tuple):
pass
Мне нужно, чтобы аргумент a принимал любую стандартную последовательность (tuple, list, set). Как указать, что тип аргумента - любая последовательность (в примере выше указано, что аргумент может быть только кортежем). Я понимаю, что можно и не указывать, но мне нужно это указать, чтобы позже не путаться в коде. Спасибо за конструктивные ответы.
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
Если нужны только перечисленные типы, то делайте Union из трех перечисленных типов:
from typing import Union
def func(a: Union[tuple, list, set]):
pass
Если допустимы любые типы, которые поддерживают итерацию (в том числе и строки и генераторы/итераторы), то можно использовать Iterable:
from typing import Iterable
def func(a: Iterable):
pass