Подробное руководство по использованию строковых методов center, find, isalnum, replace, casefold, endswith, index, isdecimal, isdigit, join, split, isnumeric, isspace, isupper, partition в Python
- Введение
- Метод str.center()
- Метод str.find()
- Метод str.isalnum()
- Метод str.replace()
- Метод str.casefold()
- Метод str.endswith()
- Метод str.index()
- Метод str.isdecimal()
- Метод str.isdigit()
- Метод str.join()
- Метод str.split()
- Метод str.isnumeric()
- Метод str.isspace()
- Метод str.isupper()
- Метод str.partition()
- Заключение
Введение
Строка – это такой порядок символов. Строки начинают считываться со ввода функции 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.
Неправда, много ошибок