Введение в функции Python 3 для работы со строками

В Python есть несколько встроенных функций для работы со строками. Встроенные функции — это методы, которые определены в языке программирования.

В этом руководстве мы рассмотрим несколько строковых функций в Python 3.

Содержание

Создание строк в верхнем и нижнем регистре

Функции str.upper() и str.lower() возвращают строку со всеми буквами исходной строки, преобразованными в прописные или строчные буквы. Символы в строке, которые не являются буквами, меняться не будут.

Преобразуем строку Sammy Shark в верхний регистр:

ss = "Sammy Shark"
print(ss.upper())

Вывод:

 

SAMMY SHARK

Теперь преобразуем эту же строку в нижний регистр:

print(ss.lower())

Вывод:

 

sammy shark

строк. Например, если пользователь записывает свое имя в нижнем регистре, мы все равно можем определить, хранится ли логин в базе данных.

 

Логические методы

В Python есть несколько методов, которые оценивают логический тип значения. Они применяются для валидации полей форм регистрации. Если мы запрашиваем почтовый индекс, то поле должно «принимать» только числовую строку. Но когда пользователь вводит имя, строка должна состоять только из букв.

Существует ряд строковых методов, которые возвращают логические значения:

МетодTrue если
str.isalnum()Строка состоит только из буквенно-цифровых символов (без специальных символов).
str.isalpha()Строка состоит только из буквенных символов (без специальных символов).
str.islower()Все буквенные символы строки имеют нижний регистр.
str.isnumeric()Строка состоит только из цифровых символов.
str.isspace()Строка состоит только из символов пробелов.
str.istitle()Строка заглавными буквами.
str.isupper()Все буквенные символы строки имеют верхний регистр.

Рассмотрим несколько методов в действии:

number = "5"
letters = "abcdef"

print(number.isnumeric())
print(letters.isnumeric())
Вывод:
True
False

Метод str.isnumeric() возвращает для строки number = «5» значение True, а тот же метод для строки letters = «abcdef» возвращает значение False.

Точно так же мы можем проверить, являются ли буквенные символы строки заглавными, прописными или строчными.

Создадим несколько строк:

movie = "2001: A SAMMY ODYSSEY"
book = "A Thousand Splendid Sharks"
poem = "sammy lived in a pretty how town"

Теперь применим логические методы, которые проверяют регистр:

print(movie.islower())
print(movie.isupper())
print(book.istitle())
print(book.isupper())
print(poem.istitle())
print(poem.islower())

Выполним код и посмотрим на результат:

Вывод для строки movie:

False
True

Вывод для строки book:

 

True
False

Вывод для строки poem:

 

False
True

Проверка регистра строки позволяет правильно отсортировать данные. Логические методы также полезны для валидации полей форм на сайте.

Определение длины строки

Метод  len() возвращает количество символов в строке. Его можно использовать в тех случаях, когда необходимо установить минимальную или максимальную длину пароля. А также, если необходимо усечь длинные строки.

Чтобы продемонстрировать этот метод в действии, найдем длину предложения:

open_source = "Sammy contributes to open source."
print(len(open_source))

Вывод:

 

33

Мы инициализируем переменную open_source строковым значением «Sammy contributes to open source.». Затем передаем эту переменную в метод len() с помощью len(open_source). После этого используем  print() для вывода результата на экран.

Помните, что любой символ, заключенный в одинарные или двойные кавычки, будет учитываться методом len().

Методы join(), split() и replace()

Метод str.join() объединяет две строки и разделяет их указанным символом.

Давайте создадим строку:

balloon = "Sammy has a balloon."

Теперь воспользуемся методом str.join(), чтобы добавить пробел к этой строке. Мы можем сделать так:

" ".join(balloon)

Если мы выведем это:

print(" ".join(balloon))

то увидим, что в новой возвращаемой строке добавлены пробелы между символами правой части строки.

Вывод:

S a m m y   h a s   a   b a l l o o n .

Мы также можем использовать метод str.join() для возврата строки, которая является перевернутой исходной строкой:

print("".join(reversed(balloon)))

Вывод:

 

.noollab a sah ymmaS

Метод str.join() также полезен для объединения списка строк в новую единственную строку.

Создадим разделенную запятыми строку из списка строк:

print(",".join(["sharks", "crustaceans", "plankton"]))

Вывод:

 

sharks,crustaceans,plankton

Если нужно добавить запятую и пробел между строковыми значениями в, можно просто переписать выражение с пробелом после запятой: «,

 

".join(["sharks", "crustaceans", "plankton"]).

Также можно и разбивать строки. Для этого используется метод str.split():

print(balloon.split())

Вывод:

['Sammy', 'has', 'a', 'balloon.']

Метод str.split() возвращает список строк, разделенных пробелами, если никакой другой параметр не задан.

Также можно использовать str.split() для удаления определенных частей строки. Например, давайте удалим из строки букву a:

print(balloon.split("a"))

Вывод:

['S', 'mmy h', 's ', ' b', 'lloon.']

Теперь буква a удалена, и строки разделены там, где она располагалась.

Метод str.replace() применять для замены части строки. Допустим, что  шарик, который был у Сэмми, потерян. Поскольку у Сэмми больше нет этого шарика, изменим подстроку «has» на новую строку «had»:

print(balloon.replace("has","had"))

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

Вывод:

Sammy had a balloon.

Методы str.join(), str.split() и str.replace() позволяют более эффективно управлять строками в Python.

Заключение

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

 

 

Данная публикация представляет собой перевод статьи «An Introduction to String Functions in Python 3» , подготовленной дружной командой проекта Интернет-технологии.ру

Меню