扩展切片是具有多个部分的切片,它使用某些特定于切片的功能。
切片特定功能类似于...
(字面省略号)或:
(测试分隔符)。
所以,举个例子ExtSlice
涉及像这样的表达式o[...:None]
or o[1,2:3]
.
以下是一些例子来证明这一点:
>>> compile('o[x]', '<string>', 'exec', PyCF_ONLY_AST).body[0].value.slice
<_ast.Index object at 0xb72a9e6c>
>>> compile('o[x,y]', '<string>', 'exec', PyCF_ONLY_AST).body[0].value.slice
<_ast.Index object at 0xb72a9dac>
>>> compile('o[x:y]', '<string>', 'exec', PyCF_ONLY_AST).body[0].value.slice
<_ast.Slice object at 0xb72a9dcc>
>>> compile('o[x:y,z]', '<string>', 'exec', PyCF_ONLY_AST).body[0].value.slice
<_ast.ExtSlice object at 0xb72a9f0c>
>>>