Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, содержит ли строка подстроку на Python. В рамках практики (лабораторной работы) вас научат определять подстроки с использованием срезов (slicing) как с положительными, так и с отрицательными индексами. Вы создадите скрипт на Python с именем substrings.py, чтобы извлекать подстроки из заданной строки и выводить их в консоль.
В практике (лабораторной работе) показано, как использовать срезы (slicing) для определения подстрок, извлекая части строки, указывая начальный и конечный индексы. Вы научитесь извлекать такие подстроки, как "Hello" и "LabEx" из строки "Hello, LabEx!", а также как получить доступ к последнему символу строки с использованием отрицательных индексов. В практике (лабораторной работе) содержатся инструкции по запуску скрипта и проверке вывода.
Определение подстрок
На этом этапе вы научитесь определять подстроки на Python. Подстрока представляет собой непрерывную последовательность символов в строке. Понимание того, как работать с подстроками, является важной частью для многих задач по манипуляции строками.
Начнем с создания скрипта на Python с именем substrings.py в каталоге ~/project. Вы можете использовать редактор VS Code для создания этого файла.
## ~/project/substrings.py
string = "Hello, LabEx!"
Этот скрипт инициализирует переменную строкового типа с именем string значением "Hello, LabEx!".
Теперь добавим код для извлечения подстрок из этой строки. Простой способ определить подстроку - использовать срезы (slicing). Срезы позволяют извлекать часть строки, указав начальный и конечный индексы.
Добавьте следующие строки в файл substrings.py:
## ~/project/substrings.py
string = "Hello, LabEx!"
substring1 = string[0:5] ## Символы с индекса 0 до 4
substring2 = string[7:12] ## Символы с индекса 7 до 11
print(substring1)
print(substring2)
В этом примере substring1 будет содержать символы с индекса 0 до (но не включая) индекса 5, то есть "Hello". substring2 будет содержать символы с индекса 7 до (но не включая) индекса 12, то есть "LabEx".
Чтобы запустить скрипт, откройте терминал в VS Code и выполните следующую команду:
python ~/project/substrings.py
Вы должны увидеть следующий вывод:
Hello
LabEx
Вы также можете использовать отрицательные индексы для определения подстрок. Отрицательные индексы считаются от конца строки. Например, string[-1] ссылается на последний символ строки.
Измените файл substrings.py, добавив следующее:
## ~/project/substrings.py
string = "Hello, LabEx!"
substring1 = string[0:5] ## Символы с индекса 0 до 4
substring2 = string[7:12] ## Символы с индекса 7 до 11
substring3 = string[-1] ## Последний символ
print(substring1)
print(substring2)
print(substring3)
Теперь запустите скрипт еще раз:
python ~/project/substrings.py
Теперь вывод должен включать последний символ строки:
Hello
LabEx
!
Понимание того, как определять подстроки с использованием срезов (slicing), является фундаментальным навыком в Python. Опробуйте разные начальные и конечные индексы, чтобы извлекать различные части строки.
Использование оператора in
На этом этапе вы научитесь использовать оператор in в Python для проверки наличия подстроки в строке. Оператор in представляет собой простой и эффективный способ определить, присутствует ли подстрока в строке.
Продолжим работу с файлом substrings.py, который вы создали на предыдущем этапе. Мы добавим код для проверки наличия определенных подстрок в исходной строке.
Откройте файл substrings.py в каталоге ~/project с помощью редактора VS Code.
## ~/project/substrings.py
string = "Hello, LabEx!"
substring1 = "Hello"
substring2 = "Python"
print(substring1 in string)
print(substring2 in string)
В этом примере мы определяем две подстроки, substring1 и substring2. Затем мы используем оператор in для проверки, присутствует ли каждая из подстрок в переменной string. Оператор in возвращает True, если подстрока найдена, и False в противном случае.
Чтобы запустить скрипт, откройте терминал в VS Code и выполните следующую команду:
python ~/project/substrings.py
Вы должны увидеть следующий вывод:
True
False
Этот вывод показывает, что "Hello" присутствует в строке "Hello, LabEx!", в то время как "Python" - нет.
Вы также можете использовать оператор in в условных операторах. Измените файл substrings.py, добавив следующее:
## ~/project/substrings.py
string = "Hello, LabEx!"
substring1 = "Hello"
substring2 = "Python"
if substring1 in string:
print(f"'{substring1}' is found in '{string}'")
else:
print(f"'{substring1}' is not found in '{string}'")
if substring2 in string:
print(f"'{substring2}' is found in '{string}'")
else:
print(f"'{substring2}' is not found in '{string}'")
Теперь запустите скрипт еще раз:
python ~/project/substrings.py
Теперь вывод должен быть более информативным:
'Hello' is found in 'Hello, LabEx!'
'Python' is not found in 'Hello, LabEx!'
Оператор in является мощным инструментом для манипуляции строками в Python. Он позволяет легко проверять наличие подстрок в строке, делая ваш код более читаемым и эффективным.
Поиск позиции с помощью метода find()
На этом этапе вы научитесь использовать метод find() в Python для нахождения позиции подстроки в строке. Метод find() возвращает индекс первого вхождения подстроки или -1, если подстрока не найдена.
Продолжим работу с файлом substrings.py, который вы создали на предыдущих этапах. Мы добавим код для нахождения позиции конкретных подстрок в исходной строке.
Откройте файл substrings.py в каталоге ~/project с помощью редактора VS Code.
## ~/project/substrings.py
string = "Hello, LabEx!"
substring1 = "LabEx"
substring2 = "Python"
position1 = string.find(substring1)
position2 = string.find(substring2)
print(position1)
print(position2)
В этом примере мы определяем две подстроки, substring1 и substring2. Затем мы используем метод find() для нахождения позиции каждой подстроки в переменной string.
Чтобы запустить скрипт, откройте терминал в VS Code и выполните следующую команду:
python ~/project/substrings.py
Вы должны увидеть следующий вывод:
7
-1
Этот вывод показывает, что "LabEx" найдена по индексу 7 в строке "Hello, LabEx!", в то время как "Python" не найдена (обозначено -1).
Вы также можете использовать метод find() с необязательными начальными и конечными индексами для поиска подстроки в определенном диапазоне. Измените файл substrings.py, добавив следующее:
## ~/project/substrings.py
string = "Hello, LabEx! LabEx"
substring1 = "LabEx"
position1 = string.find(substring1) ## Найти первое вхождение
position2 = string.find(substring1, 8) ## Найти вхождение, начиная с индекса 8
position3 = string.find(substring1, 0, 5) ## Найти вхождение в первых 5 символах
print(position1)
print(position2)
print(position3)
Теперь запустите скрипт еще раз:
python ~/project/substrings.py
Теперь вывод должен быть следующим:
7
14
-1
В этом примере:
position1находит первое вхождение"LabEx"по индексу 7.position2начинает поиск с индекса 8, поэтому он находит второе вхождение"LabEx"по индексу 14.position3ищет в первых 5 символах строки, поэтому он не находит"LabEx"и возвращает -1.
Метод find() является универсальным инструментом для нахождения подстрок в строке. Понимание того, как использовать его с необязательными начальными и конечными индексами позволяет выполнять более целенаправленные поиски.
Резюме
В этом практическом занятии вы научились определять подстроки в Python с использованием срезов строк. Вы создали скрипт на Python для инициализации строки и затем извлекли подстроки, указав начальные и конечные индексы, включая использование отрицательных индексов для доступа к символам с конца строки. В рамках практики показано, как выводить эти извлеченные подстроки в консоль.
Основная идея заключается в понимании того, как использовать срезы с как положительными, так и отрицательными индексами для определения и извлечения конкретных частей строки. Это является фундаментальным навыком для манипуляции строками в Python.



