Подсказки типа Python для функции, возвращающей несколько возвращаемых значений - PullRequest
1 голос
/ 25 сентября 2019

Как написать объявление функции, используя подсказки типа Python для функции, возвращающей несколько возвращаемых значений?

Разрешен ли приведенный ниже синтаксис?

def greeting(name: str) -> str, List[float], int :

// do something

return a,b,c

Ответы [ 2 ]

3 голосов
/ 25 сентября 2019

Множественные возвращаемые значения в python возвращаются как кортеж, и подсказка типа для кортежа - это не класс tuple, а typing.Tuple.

import typing

def greeting(name: str) -> typing.Tuple[str, List[float], int]:

    # do something

    return a,b,c
1 голос
/ 25 сентября 2019

Вы можете использовать подсказку типа typing.Tuple (чтобы указать тип содержимого кортежа, если в этом нет необходимости, вместо него можно использовать встроенный класс tuple):

from typing import Tuple

def greeting(name: str) -> Tuple[str, List[float], int]:
    # do something
    return a, b, c
...