2

我正在使用 Python3,并且刚刚学会了如何使用mypy. 我正在阅读文档(尤其是部分似乎相关),但找不到我的问题的任何答案:

是否可以为类型定义一些快捷方式?

例子:

而不是写

from typing import List


def f(x: List[int]) -> List[int]:
    return x[1:]

我想拥有

from typing import List

sequence = DefineTypeShortcut(List[int])

def f(x: sequence) -> sequence:
    return x[1:]

澄清一下,我不想定义一个新的类Sequence,我只是想要更容易阅读的函数签名。

4

1 回答 1

2

是的,您正在寻找Type Aliases. 幸运的是,它们非常简单,通过为新名称分配新名称,该名称可以作为类型的提示。

文档中提供的示例提供了一个您所追求的示例:

from typing import List
Vector = List[float]

def scale(scalar: float, vector: Vector) -> Vector:
    return [scalar * num for num in vector]
于 2017-01-28T20:32:24.003 回答