Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 43

>>> 'P' + name[1:]

'Penny'

Извлекаем подстроки с помощью

оператора [ start : end : step ]

Из строки можно извлечь подстроку (часть строки) с помощью функции slice.

Вы определяете slice с помощью квадратных скобок, смещения начала подстроки

start и конца подстроки end, а также опционального размера шага step. Некоторые

из этих параметров могут быть исключены. В подстроку будут включены символы,

расположенные начиная с точки, на которую указывает смещение start, и закан-

чивая точкой, на которую указывает смещение end.

 Оператор [:] извлекает всю последовательность от начала до конца.

 Оператор [ start :] извлекает последовательность с точки, на которую указыва-

ет смещение start, до конца.

Строки

63

 Оператор [: end] извлекает последовательность от начала до точки, на которую

указывает смещение end минус 1.

 Оператор [ start : end] извлекает последовательность с точки, на которую

указывает смещение start, до точки, на которую указывает смещение end

минус 1.

 Оператор [ start : end : step] извлекает последовательность с точки, на которую

указывает смещение start, до точки, на которую указывает смещение end минус 1,

опуская символы, чье смещение внутри подстроки кратно step.

Как и ранее, смещение слева направо определяется как 0, 1 и т. д., а справа на-

лево — как -1, -2 и т. д. Если вы не укажете смещение start, функция будет исполь-

зовать в качестве его значения 0 (начало строки). Если вы не укажете смещение

end, функция будет использовать конец строки.

Создадим строку, содержащую английские буквы в нижнем регистре:

>>> letters = 'abcdefghijklmnopqrstuvwxyz'

Использование простого двоеточия аналогично использованию последователь-

ности 0: (целая строка):

>>> letters[:]

'abcdefghijklmnopqrstuvwxyz'

Вот так можно получить все символы, начиная с 20-го и заканчивая послед-

ним:

>>> letters[20:]

'uvwxyz'

А теперь — начиная с 10-го и заканчивая последним:

>>> letters[10:]

'klmnopqrstuvwxyz'

А теперь получим символы с 12-го по 14-й (Python не включает символ, рас-

положенный под номером, который указан последним):

>>> letters[12:15]

'mno'

Последние три символа:

>>> letters[-3:]

'xyz'

В следующем примере мы начинаем со смещения 18 и идем до четвертого с кон-

ца символа. Обратите внимание на разницу с предыдущим примером, где старт

с позиции -3 получал символ х. В этом примере конец диапазона -3 означает, что