str.find() Localizar posição de substring
Última atualização: 2026-09-22
str.find() Localizar posição de substring
str.find(sub[, start[, end]]) retorna o índice da primeira ocorrência de sub; retorna -1 se não encontrar (não lança exceção).
| Categoria | Métodos de string |
|---|---|
| Tipo | Método de tipo interno |
| Versão do Python | all |
📝 Sintaxe
str.find(sub[, start[, end]])
⚙️ Parâmetros
| sub Obrigatório | The substring to search for. |
|---|---|
| start Opcional | Start index of the range (inclusive); None means the beginning.(Padrão:None) |
| end Opcional | End index of the range (exclusive); None means the end.(Padrão:None) |
Retorno:int. The lowest index where sub is found, or -1 if not found.
Modifica o original:Não (retorna um novo objeto)
▶ Exemplo
Edite o código, clique em Executar e veja o resultado no painel de saída:
Saída:
2
-1
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
❓ Perguntas frequentes
Qfind() lança uma exceção quando a subsequência não é encontrada?
ANão. Essa é a maior diferença em relação a index(): find() retorna -1 quando não encontra. Prefira find() quando você não tem certeza de que a subsequência existe.
QComo devo escolher entre find() e index()?
AUse find() quando você só quer saber "existe e onde" (retorna -1 sem erro); use index() quando a subsequência deve existir e não encontrá-la é um bug (lança ValueError).
QComo encontro a posição da segunda ocorrência?
AUse o parâmetro start para pular a primeira: 'banana'.find('a', 2) começa a busca a partir do índice 2 e retorna 3. Para encontrar a última ocorrência, use rfind().
QO que find('') retorna com uma subsequência vazia?
AEle retorna 0 (ou o valor do parâmetro start), porque uma subsequência vazia corresponde em qualquer posição.