Строковые методы в Python

Строковые методы в Python

Подробное руководство по использованию строковых методов center, find, isalnum, replace, casefold, endswith, index, isdecimal, isdigit, join, split, isnumeric, isspace, isupper, partition в Python

Введение

Строка – это такой порядок символов. Строки начинают считываться со ввода функции input().

Строки принадлежат к объектам класса str.

В сегодняшней статье мы рассмотрим методы строк.

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

Вообще в языке программирования Python есть более 30 методов строк, но в данной статье я расскажу о таких методах как center(), find(), isalnum(), replace(), casefold(), endswith(), index(), isdecimal(), isdigit(), join(), split(), isnumeric(), isspace(), isupper(), partition().

Метод str.center()

Этот метод нужно применять в тех случаях, если нужно выравнять строку по центру. Выравнивание будет выполняться с пробела. Сам метод составляет в себя несколько параметров: это length (есть обязательным параметром и показывает длину строки) и fillchar (символ выравнивания). Если вы указали новое число для ширины новой строки, чем той, которая была в начальной строке, то вы получите такой же код какой был в начале.

Пример кода:

value = "bad"
some_value = value.center(11, "-")
print(some_value)

Вывод программы:

----bad----

Метод str.find()

Этот метод просто необходим, если вам нужно найти индексы совпадений подстроки в строке. Если данные вы не нашли, то метод возвратит -1. Данная функция может принимать такие параметры: substring (символ/подстрока) – это необходимая для вас подстрока; start – первый индекс со значением 0; end – индекс, который заканчивает отыскивание нужной подстроки.

С помощью метода find() вы можете находить необходимые индексы первого вхождения подстроки в последовательности (строке).

Пример кода:

my_question="Когда пары?"
print("Индекс буквы ‘р’:", string.find("0"))

Вывод программы:

Индекс буквы 'р': 8

Метод str.isalnum()

Метод isalnum() нужен для того, чтобы выяснить есть ли в строке буквы или цифры. isalnum() вернет True в тех случаях, когда строка заполнена либо символами, либо числами.

Пример кода:

my_var='kfc429'
print (my_var.isalnum())
myVar='kfc@429'
print (myVar.isalnum())
var='333-kfc'
print (var.isalnum())

Вывод программы:

True
False
False

Метод str.replace()

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

Пример кода:

my_variant='Lilia, Vita, Sasha, Masha'

#Нужно заменить все подстроки “Vita” в строке 

print(my_variant.replace('Vita', 'Vitochka')

Вывод программы:

Lilia, , Vitochka, Sasha, Masha

Метод str.casefold()

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

Пример кода:

text='РозЫ, ПИоны, МаКИ'
print(text.casefold())

Вывод программы:

розы, пионы, маки 

Метод str.endswith()

Метод нужен для того, чтобы вернуть True, если строка имеет искомый суффикс. Данный метод может принимать такие три параметра в позициях: суффиксы-строки или кортежи с суффиксами, чтобы проверять данные в строках; start — это необязательный параметр, который помогает проверять суффиксы в строках; end — тоже необязательный параметр, который нужен для проверки суффиксов в строках.

Итак, сам метод нужен чтобы возвратить True или False, если строки заканчиваются суффиксом или не заканчиваются никакими суффиксами. Также в языке Python есть возможность передавать суффиксы кортежей. Если в вашей строке есть окончания на элемент кортежа, то данный метод вернет True. Если этого нет, то вернется False.

Пример кода:

my_text="Разве ты купил книгу?"
new=my_text.endswith("книгу")
print(new)

Вывод программы:

True

Метод str.index()

Данный метод возвращает индексы подстрок в середине строк. Если во время проверки не найдётся нужная подстрока, то пишется, что нашлась ошибка (ValueError). Метод может принимать данные параметров: sub (главная подстрока, которую нужно искать в строке), start (начало поиска подстроки), end (необязательный параметр, конец поиска подстроки).

По данному методу можно обнаружить начало указанной подстроки в исходной. Необязательные позиции start и end нужны для того, чтобы принимать любые значения и поддерживать механизмы срезов.

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

Пример кода:

variant='В аудиторию вошел преподаватель'
print (variant.index('преподаватель'))
 #3
print(variant.index('пришел'))

Вывод программы:

Traceback (most recent call last):

File "<string>", line 4, in <module>
ValueError: substring not found

Метод str.isdecimal()

С помощью этого метода можно вернуть True, в тех случаях, когда символы в строках являются десятичными числами. Если десятичных чисел в строке не нашлось, то возвращается False. Данный метод определяет есть ли цифры в строке. В таком случае возвращается True. Если в строке есть пробелы, буквы, точка или вообще пустая строка, возвращается False.

Пример кода:

my_text="12345"
print (my_text.isdecimal()) 
#в строке только цифры
my_text_2="1_2345"
print (my_text_2.isdecimal()) 
#в строке есть нижнее подчеркивание.

Вывод программы:

True 
False

Метод str.isdigit()

Данный метод похож на метод isdecimal(). True появляется в результате, если цифры в строке есть и False, если в строке появляется пробел или другой символ, буква, нижнее подчеркивание или смайлик.

С помощью метода isdigit() вы можете понять, что необходимая строка содержит цифры.

Но есть одно но: данный метод работать в тех случаях, если ваши числа являются положительными, на отрицательные данный метод не работает.

Пример кода:

text1='_'
print(text1.isdigit()) 
text2='1235'
print(text2.isdigit()) 
text3='12 563'
print(text3.isdigit())

Вывод программы:

False 
True 
False

Метод str.join()

Он помогает собирать строки из списков с определёнными разделителями.

Данный метод отвечает за превращение списка в строку. Он может использоваться тогда, когда нужно принять итерируемые объекты как аргумент, а список очень часто выступает аргументом. Нужно знать, что этот список должен состоять из строк.

Очень часто начинающие python-программисты задаются вопросом: почему метод join() относится к методам строки, а не методам списка. Отвечаю: функцию join() вы можете использовать в разных целях и с разными итерируемыми объектами, но в результате вы получаете только строку.

Пример кода:

flower=["r", "o", "s", "e"]
flower_str=",".join(flower)
print ("Цветок:",flower_str)

Вывод программы:

Цветок: r,o,s,e

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

Метод str.split()

Метод split() есть противоположностью методу join. С его помощью можно разбить строки по нужному вам разделителю и получить список строк.

Метод split() может принимать несколько параметров. Первый параметр — это разделитель, по которому будет разделяться строка. Если вы не указали разделитель, то любой символ (пробел или даже другая строка) уже автоматически считается новым разделителем. Другой параметр — это maxsplit. Он нужен для того, чтобы показать какое будет число разделений в строке. Если вы укажите maxsplit, то ваш список будет иметь maxsplit и еще один объект.

Пример кода:

food='Water, Bread, Bun, Grape' 
#maxsplit:3 
print(food.split (',', 3))
#maxsplit:4 
print(food.split (',', 4))

Вывод программы:

['Water', ' Bread', ' Bun', ' Grape'] 
['Water', ' Bread', ' Bun', ' Grape']

Метод str.isnumeric()

Мы прекрасно помним, что Python имеет динамическую типизацию (когда в объектах хранится информация о значении и информации о типах объектов; сама типизация имеет ряд преимуществ). Очень часто с помощью различных строковых методов не нужно менять тип данных. В Python есть встроенный метод isnumeric(). Он нужен чтобы обрабатывать строки.

Метод isnumeric() возвращает True в тех случаях, если символы оказываются числовыми символами. Если этого не происходит, то выводится False.

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

Пример кода:

x="Демяновка_деревня"
print(x.isnumeric()) 
#в строке буквы
x="5896" 
print(x.isnumeric())
#в строке цифры

Вывод программы:

False 
True

Метод str.isspace()

С помощью данного метода вы сможете проверить есть ли в строке пробелы. Этот метод не имеет никаких параметров. Если строка пуста или имеет один пробел, то вы в результате увидите False. Если наоборот, то True.

Пример кода:

var=' b '
print (var.isspace())

Вывод программы:

False

Метод str.isupper()

Данная строковая функция (метод) нужна для того, чтобы вы могли проверить все ли введенные буквы находятся в верхнем регистре. Метод isupper() позволяет вам вернуть True в тех случаях, если ваши буквы будут в строке прописными. Если нет — то будет выводится False.

Пример кода:

text='Косая строчка'
print(text.isupper())

Вывод программы:

False

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

Метод str.partition()

Данный метод нужен для того, чтобы строка разбилась на начало, середину и конец. В результате будет кортеж. В основном строка будет разбиваться слева направо.

Метод имеет один параметр sep. Он может содержать один или несколько букв или символов.

Пример кода:

string='The lion is the king of beasts' 
print (string.partition('lion'))
print (string.partition('king'))
string="The tiger is not king of beasts"
print (string.partition('is not'))

Вывод программы:

('The ', 'lion', ' is the king of beasts') 
('The lion is the ', 'king', ' of beasts') 
('The tiger ', 'is not', ' king of beasts')

Заключение

В данной статье мы рассмотрели как использовать основные метолы строк и какие у них существуют аргументы. Больше информации о строковых методах можно получить из официальной документации Python.

Егор Егоров

Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий

  1. Твоя мама

    Неправда, много ошибок

    Ответить