Расширенный слайс - это слайс с несколькими частями, который использует некоторую специфичную для слайса функцию.
Специфичная для слайса функция - это что-то вроде ...
(буквенный многоточие) или :
(разделитель теста).
Итак, пример, где ExtSlice
используется для выражения типа o[...:None]
или 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>
>>>