Введение в строковые функции в Python 3

Вступление

Python имеет несколько встроенных функций, связанных сstring data type. Эти функции позволяют нам легко модифицировать и манипулировать строками. Мы можем думать о функциях как о действиях, которые мы выполняем над элементами нашего кода. Встроенные функции - это те, которые определены в языке программирования Python и легко доступны для использования.

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

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

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

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

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

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

print(ss.lower())
Ouputsammy shark

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

Булевы методы

В Python есть некоторые строковые методы, которые будут оценивать какBoolean value. Эти методы полезны, например, когда мы создаем формы, которые пользователи могут заполнять. Если мы запрашиваем почтовый индекс, мы хотим принимать только числовую строку, но когда мы просим имя, мы хотим принимать только буквенную строку.

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

метод 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())
OutputTrue
False

Использование методаstr.isnumeric() для строки5 возвращает значениеTrue, а использование того же метода для строки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())

Теперь мы можем запустить эти небольшие программы и посмотреть результат:

Output of movie stringFalse
True
Output of book stringTrue
False
Output of poem stringFalse
True

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

Методы логических строк полезны, когда мы хотим проверить, вписывается ли что-то, что вводит пользователь, в заданные параметры.

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

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

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

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

Мы устанавливаем переменнуюopen_source равной строке"Sammy contributes to open source.", а затем передаем эту переменную функцииlen() с помощьюlen(open_source). Затем мы передали этот метод методуprint(), чтобы мы могли видеть на экране вывод нашей программы.

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

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

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

Методstr.join() объединит две строки, но таким образом, что одна строка будет проходить через другую.

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

balloon = "Sammy has a balloon."

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

" ".join(balloon)

Если мы распечатаем это:

print(" ".join(balloon))

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

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

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

print("".join(reversed(balloon)))
Ouput.noollab a sah ymmaS

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

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

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

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

Если мы хотим добавить запятую и пробел между строковыми значениями в нашей новой строке, мы можем просто переписать наше выражение с пробелом после запятой:", ".join(["sharks", "crustaceans", "plankton"]).

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

print(balloon.split())
Ouput['Sammy', 'has', 'a', 'balloon.']

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

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

print(balloon.split("a"))
Ouput['S', 'mmy h', 's ', ' b', 'lloon.']

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

Методstr.replace() может принимать исходную строку и возвращать обновленную строку с некоторой заменой.

Давайте скажем, что воздушный шар, который был у Сэмми, потерян. Поскольку у Сэмми больше нет этого балуна, мы изменим подстроку"has" с исходной строкиballoon на"had" в новой строке:

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

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

OuputSammy had a balloon.

Использование строковых методовstr.join(),str.split() иstr.replace() предоставит вам больший контроль для управления строками в Python.

Заключение

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

Вы можете узнать больше о других типах данных в «https://www.digitalocean.com/community/tutorials/understanding-data-types-in-python-3[Understanding Types Data]», подробнее о строках в «https: //www.digitalocean.com/community/tutorials/an-introduction-to-working-with-strings-in-python-3[An Введение в работу со строками] », а также узнайте об изменении внешнего вида строк в« https : //www.digitalocean.com/community/tutorials/how-to-format-text-in-python-3 [Как отформатировать текст в Python 3]. ”