[英]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.