Урок 4. Python. Работа со строками.

Автор: | 10.11.2016

Мы уже использовали строковый тип данных в наших программах. Теперь давайте более детально изучим какие операции мы можем осуществлять со строками.

Базовые операции со строками

Создание текстовой переменной

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]) Удаление пробельных символов в начале и в конце строки

 

Задание.

Модифицировать предыдущую программу с возможностью вводить учеников класса через запятую.

Добавить возможность добавлять предметы изучаемые в школе.

Добавить возможность выставлять ученикам оценки .