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

>>>> setup.replace('duck', 'marmoset')

>'a marmoset goes into a bar…'

Заменим максимум 100 включений:

>>>> setup.replace('a ', 'a famous ', 100)

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

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

>>>> setup.replace('a', 'a famous', 100)

>'a famous duck goes into a famous ba famousr…'

Иногда вам нужно убедиться, что подстрока является целым словом, началом слова и т. д. В этих случаях понадобятся регулярные выражения. Они подробно описаны в главе 7.

Больше действий со строками

В Python имеется гораздо больше функций для работы со строками, чем я сейчас описал. Некоторые из них мы рассмотрим в следующих главах, но вы можете найти описания их всех в стандартной документации (http://bit.ly/py-docs-strings).

Упражнения

В этой главе были показаны атомы Python: числа, строки и переменные. Выполним несколько небольших упражнений по работе с ними с помощью интерактивного интерпретатора.

1. Сколько секунд в часе? Используйте интерактивный интерпретатор как калькулятор и умножьте количество секунд в минуте (60) на количество минут в часе (тоже 60).

2. Присвойте результат вычисления предыдущего задания (секунды в часе) переменной, которая называется seconds_per_hour.

3. Сколько секунд в сутках? Используйте переменную seconds_per_hour.

4. Снова посчитайте количество секунд в сутках, но на этот раз сохраните результат в переменной seconds_per_day.

5. Разделите значение переменной seconds_per_day на значение переменной seconds_per_hour. Используйте деление с плавающей точкой (/).

6. Разделите значение переменной seconds_per_day на значение переменной seconds_per_hour. Используйте целочисленное деление (//). Совпадает ли полученный результат с ответом на предыдущее упражнение, если не учитывать символы.0 в конце?

Глава 3. Наполнение Python: списки, кортежи, словари и множества

В главе 2 мы начали с базовых типов данных Python: булевых значений, целочисленных значений, чисел с плавающей точкой и строк. Если представлять их как атомы, то структуры данных, которые мы рассмотрим в этой главе, можно назвать молекулами. Так и есть: мы объединим эти базовые типы в более сложные структуры. Вы будете использовать их каждый день. Бо́льшая часть работы программиста представляет собой разделение и склеивание данных в конкретные формы, поэтому сейчас вы узнаете, как пользоваться ножовками и клеевыми пистолетами.