我想使用slice[int],就像list[int]一样,但我的IDE告诉我这种用法无效.那么,如果我想约束切片类型的参数类型,那么如何注释切片类型呢?

推荐答案

目前,内置的slice类型是not generic,所以它没有类型参数(不像list).关于这一点的discussion个由来已久(自2015年以来),相关的typeshed issue仍然开放.在国际海事组织,它应该成为通用的definitely,但尚不清楚是否/何时会发生这种情况.

slice个参数可以是any种类型(source).这意味着像slice("foo", [-1], object())这样的语句将通过mypy --strict(即使它的实用性可能有问题).

这意味着目前没有办法根据切片类型的开始/停止/步骤属性类型来约束切片类型变量.

而且由于您甚至不能子类slice,所以甚至没有一种方法可以轻松地创建您自己的类切片类型.

Python相关问答推荐

Pandas 密集排名具有相同值,按顺序排列

aiohTTP与pytest的奇怪行为

使用Python C API重新启动Python解释器

如何在Python中按组应用简单的线性回归?

DuckDB将蜂巢分区插入拼花文件

Chatgpt API不断返回错误:404未能从API获取响应

追溯(最近最后一次调用):文件C:\Users\Diplom/PycharmProject\Yolo01\Roboflow-4.py,第4行,在模块导入roboflow中

在Mac上安装ipython

Python键入协议默认值

我们可以为Flask模型中的id字段主键设置默认uuid吗

ODE集成中如何终止solve_ivp的无限运行

OR—Tools CP SAT条件约束

关于Python异步编程的问题和使用await/await def关键字

如何并行化/加速并行numba代码?

Plotly Dash Creating Interactive Graph下拉列表

try 检索blob名称列表时出现错误填充错误""

python panda ExcelWriter切换动态公式到数组公式

Maya Python脚本将纹理应用于所有对象,而不是选定对象

Flask Jinja2如果语句总是计算为false&

交替字符串位置的正则表达式