Перегрузить функцию, которая принимает любое количество позиционных аргументов и возвращает int или Tuple[int]Python

Программы на Python
Anonymous
Перегрузить функцию, которая принимает любое количество позиционных аргументов и возвращает int или Tuple[int]

Сообщение Anonymous »

Я пытаюсь ввести подсказку функции, которая принимает любое количество позиционных аргументов и возвращает int, если размер равен 1, и возвращает кортеж того же размера, если он больше 1.
Это это то, что у меня есть сейчас:

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

def timestamp(*date: Union[datetime, str, int]) -> int | Tuple[int, ...]:
"""
It converts a date to a timestamp

:param date: The date to be converted to timestamp
:return: The number of seconds since the epoch.
"""
if len(date) == 1: return timestamp_(date[0])
return tuple([timestamp_(d) for d in date])
mypy не жалуется на это, но я хочу перегрузить ее правильно, потому что будет немного сложно использовать эту функцию с правильными типами


Подробнее здесь: https://stackoverflow.com/questions/776 ... nd-returns

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