注意:调用__repr__函数的目的是调试,因此绝对不能抛出异常,尽量输出有用的内容,让用户能够识别目标对象。
协议
在面向对象编程中,协议是非正式的接口,只在文档中定义,在代码中不定义。...协议是非正式的,没有强制力,因此如果知道类的具体使用场景,通常只需要实现一个协议的部分。...9]) # (slice(1, 4, 2), 9)
print(a[1:4:2, 7:9]) # (slice(1, 4, 2), slice(7, 9, None))
slice是内置的类型...class slice(start, stop[, step])
返回一个表示由 range(start, stop, step) 所指定索引集的 slice 对象。...切片对象具有仅会返回对应参数值(或其默认值)的只读数据属性 start, stop 和 step。它们没有其他的显式功能;不过它们会被 NumPy 以及其他第三方扩展所使用。