Возможна ли нотация аргументов и возвращаемых объектов функции в python в несколько типов?

в псевдокоде это бы выглядело как функция бла_бла_функция(аргумент=значение по умолчанию -> int либо matrix либо vector) возвращает ->число, либо вектор, либо матрицу: тело функции (пример условный)


Ответы (2 шт):

Автор решения: vp_arth

В python нет подказок типов. Есть только так называемые «аннотации», которые могут быть любыми объектами и в программном смысле ни на что не влияют.
Это просто метаданные.

def abs(n: 'signed num') -> 'positive num':
    return -n if n < 0 else n

То, как могут использоваться эти аннотации, нужно смотреть в документации тех инструментов(линтеров), которые вы используете.

Библиотека typing тем не менее, предлагает довольно обширный класс объектов для унификации аннотаций типов, чтобы их могли использовать и линтеры и IDE, и т.п.
Стоит изучить эту библиотеку, там есть несколько полезных для вас концептов(Union, например)

→ Ссылка
Автор решения: Xander
from typing import Union


def foo(arg: Union[int, Matrix]) -> Union[int, Matrix]
    # some code
→ Ссылка