目前,内置的slice
类型是not generic,所以它没有类型参数(不像list
).关于这一点的discussion个由来已久(自2015年以来),相关的typeshed
issue仍然开放.在国际海事组织,它应该成为通用的definitely,但尚不清楚是否/何时会发生这种情况.
slice
个参数可以是any种类型(source).这意味着像slice("foo", [-1], object())
这样的语句将通过mypy --strict
(即使它的实用性可能有问题).
这意味着目前没有办法根据切片类型的开始/停止/步骤属性类型来约束切片类型变量.
而且由于您甚至不能子类slice
,所以甚至没有一种方法可以轻松地创建您自己的类切片类型.