slice() Objeto de fatia
Última atualização: 2026-09-22
slice() Objeto de fatia
slice(stop) ou slice(start, stop[, step]) retorna um objeto de fatia; usado em __getitem__ de list/tuple etc.
| Categoria | Funções internas |
|---|---|
| Tipo | Função interna |
| Versão do Python | all |
📝 Sintaxe
slice(stop)
slice(start, stop[, step])
⚙️ Parâmetros
| stop Obrigatório | The stop index (exclusive); in the one-arg form it is the slice endpoint. |
|---|---|
| start Opcional | The start index (inclusive); None when omitted.(Padrão:None) |
| step Opcional | The step; None when omitted.(Padrão:None) |
Retorno:A slice object with start/stop/step attributes, passable to __getitem__.
💥 Exceções
TypeError— Raised when an argument is not an integer (no __index__).
▶ Exemplo
Edite o código, clique em Executar e veja o resultado no painel de saída:
Saída:
[1, 3]
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
❓ Perguntas frequentes
Qslice(1, 5, 2) e lst[1:5:2] são a mesma coisa?
ASim — lst[1:5:2] internamente chama lst[slice(1, 5, 2)]; um objeto slice serve para construir fatias dinamicamente (ex.: quando os parâmetros vêm de config ou de entrada do usuário).
Qstart/stop/step de um objeto slice são sempre inteiros?
ANão, podem ser omitidos como None: o start e o step de slice(5) são ambos None, significando 'do início até o índice 5', consistente com lst[:5].
QComo uma classe personalizada suporta fatiamento?
AImplemente __getitem__(self, key); quando key for um objeto slice, analise seu start/stop/step e aplique a lógica correspondente.
QOs argumentos de slice precisam ser inteiros?
ASim — passar um não inteiro (ex.: slice('a', 'b')) levanta TypeError; os argumentos precisam implementar __index__.