6

PEP 526说明如下:

请注意,虽然语法确实允许元组打包,但它不允许在使用元组解包时注释变量的类型。

为什么python解包时不支持变量的类型注释?PS。我必须先对类型进行注释,然后再进行拆包,这很好,只是在拆包时进行注释会更整洁。

4

1 回答 1

4

在PEP 526的拒绝/推迟提案部分中有一些关于此的信息:

允许元组解包的类型注释:这会导致歧义:不清楚此语句的含义:

x, y: T

x 和 y 都是 T 类型,还是我们希望 T 是分布在 x 和 y 上的两个项目的元组类型,或者 x 具有 Any 类型而 y 具有 T 类型?(如果这发生在函数签名中,后者就是这意味着什么。)与其让(人类)读者猜测,我们至少现在禁止这样做。

该评论似乎暗示最终可能会提出一种更简单的语法的提议,该语法不易被误解。现在,我们不得不单独注释元组的类型。

于 2019-12-02T21:22:46.983 回答