【发布时间】:2020-10-30 21:25:54
【问题描述】:
我遇到了这样签名的函数:
def get_quantile(numbers: List[float], q: float | int ) -> float | int | None :
什么意思?
这是我的 python 3.8 上的语法错误。我是否需要从 future 导入某些内容才能使其工作?
【问题讨论】:
标签: python python-3.x type-hinting type-annotation
我遇到了这样签名的函数:
def get_quantile(numbers: List[float], q: float | int ) -> float | int | None :
什么意思?
这是我的 python 3.8 上的语法错误。我是否需要从 future 导入某些内容才能使其工作?
【问题讨论】:
标签: python python-3.x type-hinting type-annotation
根据PEP 604,| 将用于指定 Python 3.10 中的联合类型。
所以float | int 将表示Union[float, int],即浮点数或整数。
【讨论】:
意思是or。所以q: float | int 意味着q 可能是float 或int。
【讨论】:
or 可以在注释中吗?除了一些奇怪的类型和值计算。很抱歉攻击你的答案,但你让“或”看起来像一个 Python 关键字,可能会误导某人;)