Мы уже использовали строковый тип данных в наших программах. Теперь давайте более детально изучим какие операции мы можем осуществлять со строками.
Базовые операции со строками
Создание текстовой переменной
s1=’привет‘
s2=‘Алексей’
Сложение переменных и текстовой строки
s3=s1+’ ‘+s2
Вывод на печать текстовой строки
print(s3)
Дублирование строки
print(‘Я лучше всех ‘*30)
Подсчет количества символов в строке
len(‘Длина строки’)
Доступ по индексу
Для того чтобы обратиться к определенному символу в строке мы можем использовать индексы. Отрицательные индексы так же как и в массивах или списках применимы к строкам.
print(s1[1])
Оператор извлечения среза как и в списках работает в строках: [X:Y]. X – начало среза, а Y – окончание;
Данный оператор позволит создавать подстроки.
print(s1[1:2])
Специальные символы в строках
Экранированная последовательность | Назначение |
---|---|
\n | Перевод строки |
\a | Звонок |
\b | Удалить символ |
\f | Перевод страницы |
\r | Возврат каретки |
\t | Горизонтальная табуляция |
\v | Вертикальная табуляция |
print(‘Строка1\nСтрока2’)
print(‘Столбец1\tСтолбец2’)
«Сырые» строки — подавляют экранирование
Если перед открывающей кавычкой стоит символ ‘r’ (в любом регистре), то механизм экранирования отключается.
S=r’C:\newt.txt’
Строки в тройных апострофах или кавычках
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
Пример:
c=»’это очень большая
строка, многострочный
блок текста»’
Поиск подстроки в строке. Возвращает номер первого вхождения или -1.
s=’Найди слово заяц в строке’
result=s.find(‘заяц’)
print(«Слово заяц начинается с символа — «+str(result))
Поиск подстроки в строке. Возвращает номер последнего вхождения или -1.
s=’Найди последнее слово заяц в строке которая содержит не одно слово заяц ‘
result=s.rfind(‘заяц’)
print(«Слово заяц начинается с символа — «+str(result))
Замена шаблона
replace(‘шаблон’ ,’замена’)
Пример:
s=’Ваше имя Name’
s=s.replace(‘Name’,’Супермен’)
print(s)
Разбиение строки по разделителю
split(символ)
s=’Красный, Зеленый, Синий’
arr=s.split(‘,’)
print(arr[0])
print(arr[1])
print(arr[2])
Сборка строки из массива с использованием разделителя
s=’Красный, Зеленый, Синий’
arr=s.split(‘,’)
s=’-‘
s=s.join(arr)
print(s)
Проверка состава строки
S.isdigit() | Состоит ли строка из цифр |
S.isalpha() | Состоит ли строка из букв |
S.isalnum() | Состоит ли строка из цифр или букв |
Преобразование строки к одному регистру
S.upper() | Преобразование строки к верхнему регистру |
S.lower() | Преобразование строки к нижнему регистру |
Удаление пробельных символов.
S.lstrip([chars]) | Удаление пробельных символов в начале строки |
S.rstrip([chars]) | Удаление пробельных символов в конце строки |
S.strip([chars]) | Удаление пробельных символов в начале и в конце строки |
Задание.
Модифицировать предыдущую программу с возможностью вводить учеников класса через запятую.
Добавить возможность добавлять предметы изучаемые в школе.
Добавить возможность выставлять ученикам оценки .