Простой Python. Современный стиль программирования (Любанович) - страница 31

>Or else would fire and water be the same;

>But that is liquid which is moist and wet

>Fire that property can never get.

>Then 'tis not cold that doth the fire put out

>But 'tis the wet that makes it die, no doubt.'''

Для начала получим первые 13 символов (их смещения лежат в диапазоне от 0 до 12):

>>>> poem[:13]

>'All that doth'

Сколько символов содержит это стихотворение? (Пробелы и символы новой строки учитываются.)

>>>> len(poem)

>250

Начинается ли стихотворение с буквосочетания All?

>>>> poem.startswith('All')

>True

Заканчивается ли оно буквосочетанием That's all, folks!?

>>>> poem.endswith('That\'s all, folks!')

>False

Найдем смещение первого включения слова the:

>>>> word = 'the'

>>>> poem.find(word)

>73

А теперь — последнего:

>>>> poem.rfind(word)

>214

Сколько раз встречается трехбуквенное сочетание the?

>>>> poem.count(word)

>3

Являются ли все символы стихотворения буквами или цифрами?

>>>> poem.isalnum()

>False

Нет, в стихотворении имеются еще и знаки препинания.

Регистр и выравнивание

В этом разделе мы рассмотрим еще несколько примеров использования встроенных функций. В качестве подопытной выберем следующую строку:

>>>> setup = 'a duck goes into a bar…'

Удалим символ «.» с обоих концов строки:

>>>> setup.strip('.')

>'a duck goes into a bar'


Поскольку строки неизменяемы, ни один из этих примеров не изменяет строку setup. Каждый пример просто берет значение переменной setup, выполняет над ним некоторое действие, а затем возвращает результат как новую строку.


Напишем первое слово с большой буквы:

>>>> setup.capitalize()

>'A duck goes into a bar…'

Напишем все слова с большой буквы:

>>>> setup.title()

>'A Duck Goes Into A Bar…'

Запишем все слова большими буквами:

>>>> setup.upper()

>'A DUCK GOES INTO A BAR…'

Запишем все слова маленькими буквами:

>>>> setup.lower()

>'a duck goes into a bar…'

Сменим регистры букв:

>>>> setup.swapcase()

>'a DUCK GOES INTO A BAR…'

Теперь мы поработаем с функциями выравнивания. Строка выравнивается внутри заданного количества пробелов (в данном примере 30).

Отцентруем строку в промежутке из 30 пробелов:

>>>> setup.center(30)

>'··a duck goes into a bar…···'

Выровняем ее по левому краю:

>>>> setup.ljust(30)

>'a duck goes into a bar…·····'

А теперь по правому:

>>>> setup.rjust(30)

>'·····a duck goes into a bar…'

О форматировании и преобразовании строк мы более подробно поговорим в главе 7. Там также будет затронуто использование символа % и функции format().

Заменяем символы с помощью функции replace()

Вы можете использовать функцию replace() для того, чтобы заменить одну подстроку другой. Вы передаете в эту функцию старую подстроку, новую подстроку и количество включений старой подстроки, которое нужно заменить. Если вы опустите последний аргумент, будут заменены все включения. В этом примере совпадает с заданным значением и заменяется следующая строка: