Удаление пропусков

We use cookies. Read the Privacy and Cookie Policy

Лишние пропуски могут вызвать путаницу в программах. Для программиста строки 'python' и 'python ' внешне неотличимы, но для программы это совершенно разные строки. Python видит лишний пробел в 'python ' и считает, что он действительно важен — до тех пор, пока вы не сообщите о противоположном.

Обращайте внимание на пропуски, потому что в программах часто приходится сравнивать строки, чтобы проверить на совпадение их содержимое. Типичный пример — проверка имен пользователей при входе на сайт. Лишние пропуски могут создавать путаницу и в более простых ситуациях. К счастью, Python позволяет легко удалить лишние пропуски из данных, введенных пользователем.

Python может искать лишние пропуски у левого и правого края строки. Чтобы убедиться в том, что у правого края (в конце) строки нет пропусков, вызовите метод rstrip().

(1) >>> favorite_language = 'python '

(2)>>> favorite_language

'python '

(3)>>> favorite_language.rstrip()

'python'

(4)>>> favorite_language

'python '

Значение, хранящееся в переменной favorite_language в точке (1) , содержит лишние пропуски в конце строки. Когда вы приказываете Python вывести это значение в терминальном сеансе, вы видите пробел в конце значения (2). Когда метод rstrip() работает с переменной favorite_language в точке (3), этот лишний пробел удаляется. Впрочем, удаление лишь временное: если снова запросить значение favorite_language, мы видим, что строка не отличается от исходной, включая лишний пропуск (4).

Чтобы навсегда исключить пропуск из строки, следует записать усеченное значение обратно в переменную:

>>> favorite_language = 'python '

(1) >>> favorite_language = favorite_language.rstrip()

>>> favorite_language

'python'

Сначала пропуски удаляются в конце строки, а потом значение записывается в исходную переменную (1) . Операция изменения значения переменной с последующим его сохранением в исходной переменной часто выполняется в программировании. Так значение переменной может изменяться в ходе выполнения программы или в ответ на действия пользователя.

Пропуски также можно удалить у левого края (в начале) строки при помощи метода lstrip(), а метод strip() удаляет пропуски с обоих концов:

(1) >>> favorite_language = ' python '

(2)>>> favorite_language.rstrip()

' python'

(3)>>> favorite_language.lstrip()

'python '

(4) >>> favorite_language.strip()

'python'

В этом примере исходное значение содержит пропуски в начале и в конце (1) . Затем пропуски удаляются у правого края (2), у левого края (3) и с обоих концов строки (4). Поэкспериментируйте с функциями удаления пропусков, это поможет вам освоиться с работой со строками. На практике эти функции чаще всего применяются для «очистки» пользовательского ввода перед его сохранением в программе.