Метод find() встроен в стандартный Python. Для поиска строки достаточно вызвать этот метод на объекте string, например, так: "string to search".find("search").
Метод find() ищет строку запроса и возвращает позицию первого символа, если искомая строка найдена. Если она не найдена, возвращается -1. Вы можете добавить начальный и конечный индекс: find(query, start, end), но эти параметры необязательны.
Для примера попробуйте воспользоваться приведенным ниже кодом:
Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU
s = "That I ever did see. Dusty as the handle on the door"
index = s.find("Dusty")
print(index)
Сохраните файл под именем search.py и запустите из терминала или IDE. Вы должны увидеть следующий результат:


Ключевое слово in
Вы также можете использовать ключевое слово in:
s = "That I ever did see. Dusty as the handle on the door"
if "Dusty" in s:
print("query found")
Разница в том, что ключевое слово in проверяет, содержит ли строка значение, а find() возвращает позицию начала искомой строки.
Примечание редакции: подробнее читайте в статье «Операторы in и not in в Python».
Упражнение
Попробуйте выполнить следующие упражнения
- Выясните, чувствителен ли метод find() к регистру.
- Что делать, если строка запроса встречается в строке дважды?
- Напишите программу, которая запрашивает ввод с консоли и ищет запрос.
Перевод статьи «String find() in Python».
