slice() 切片对象

最后更新:2026-09-22

slice() 切片对象

slice(stop) 或 slice(start, stop[, step]) 返回切片对象;用于 list/tuple 等的 __getitem__。

分类内置函数
类型内置函数
Python 版本all

📝 语法

slice(stop)
slice(start, stop[, step])

⚙️ 参数

stop 必选结束索引(不含);单参形式下它就是切片终点。
start 可选起始索引(含),省略时为 None。(默认值:None)
step 可选步长,省略时为 None。(默认值:None)

返回值:返回 slice 对象,含 start/stop/step 三个属性,可传给 __getitem__。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

[1, 3]
更多实战案例即将上线,敬请期待。

❓ 常见问题

Qslice(1, 5, 2) 和 lst[1:5:2] 是一回事吗?
A是,lst[1:5:2] 内部就是调用 lst[slice(1, 5, 2)];slice 对象适合动态构造切片(如切片参数来自配置或用户输入)。
Qslice 对象的 start/stop/step 一定是整数吗?
A不,可省略为 None:slice(5) 的 start 和 step 都是 None,语义是“从头到索引 5”,与 lst[:5] 一致。
Q自定义类怎么支持切片?
A实现 __getitem__(self, key),当 key 是 slice 对象时解析它的 start/stop/step 做对应逻辑。
Qslice 参数必须是整数吗?
A是,传非整数(如 slice('a', 'b'))会抛 TypeError,参数必须实现 __index__。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏