在编写类型提示时,如何正确评估索引的类型



我正在为一个特定的深度学习问题编写一个自定义Dataset类,并且出现了如何使用类型提示注释__getitem__index的问题。

给定

def __getitem__(self, i: int) -> Tuple[Tensor, Tensor]: 
return self.X[i], self.y[i]

考虑到i可以是切片(例如X[:i](,注释CCD_4的最佳方式是什么?

所以,正如我所说,i可以是整数或slice对象。

所以你可以试试:

def __getitem__(self, i: Union[int, slice]) -> Tuple[Tensor, Tensor]:
...

这将是类型为的Union

from typing import Union, Tuple
def __getitem__(self, i: Union[int, slice]) -> Tuple[Tensor, Tensor]:
. . .

Union[int, slice]的意思是"它可以是int,也可以是CCD11"。

相关内容

最新更新