繁体   English   中英

使用 python 类型提示为返回值命名

[英]Giving names to returned values with python type hints

假设我有一个 function 之类的

def basic_stats(data: List[float]):
    """This returns a tuple with the mean and median values of the data
    """
    return (np.mean(data), np.median(data))

我想使用类型提示来自我记录代码而不是注释。 标准方式不是很清楚:

def basic_stats(data: List[float]) -> Tuple[float, float]:

因为您无法通过查看 output 浮点数的提示来判断。

有时我看到人们这样做:

def basic_stats(data: List[float]) -> Tuple["mean", "median"]:

它编译得很好,实际上给了人们他们需要的东西,但对 IDE 或mypy没有帮助。 (虽然我还没有看到这些在现实世界中真正有用,但这可能是一个不同的故事。)

有什么方法可以同时做到有效、pythonic和有用的吗? 我希望能够做这样的事情:

def basic_stats(data: List[float]) -> Tuple[mean:float, median:float]:

还是我们应该坚持使用类似的东西

def basic_stats(data: List[float]) -> Tuple["mean:float", "median:float"]:

或者提议的 PEP 中有什么可以解决这个问题?

在类型提示中没有什么可以做到这一点。

An approach might be to return a named tuple using namedtuple from collections ( https://docs.python.org/3/library/collections.html#collections.namedtuple ) or a NamedTuple from the typing module (https://docs. python.org/3/library/typing.html#typing.NamedTuple )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM