Python — операции со строками

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

Важно: примеры программ, в которых пользователь имеет возможность ввести данные не работают в режиме вставки на сайте. Потому прошу запускать примеры именно на сайте Repl.it

Итак, строки можно например складывать:

Как видно из кода — пользователь программы имеет возможность ввести значение строки 1 и строки 2, после чего эти строки будут сложены и распечатаны.

А еще строки можно умножать. На практике это выглядит следующим образом:

Как видно — имеется некий текст, и число. Умножаем текст на число, и получаем не ошибку, а текст, распечатанный подряд указанное число раз. Важно знать, что строки нельзя умножать на числа с плавающей запятой.

Можно узнать длину строки. Например, представленный код:

не только запрашивает текст у пользователя, но и выводит количество символов в строке 🙂 Кстати, для определения длины строки служит функция len().

Кроме этого можно получить доступ к символу, расположенному на определенной позиции в строке. Для этого служит конструкция в виде: строка[номер требуемого символа]. Пример этого кода представлен ниже (важно не забывать: подсчет позиций идет с нуля!):

Представленный код:
1. Просит пользователя ввести значение строки: text = str(input(‘Введите текст: ‘))
2. Выводит количество символов в строке: print (‘Количество символов в введенном тексте: ‘,(len(text)), ‘символов’)
3. Спрашивает, символ с каким номером нужно вывести: s = int(input(‘Какой символ нужно распечатать?: ‘))
4. Выводит этот символ: print (text[s])

Как следствие — если мы можем получить доступ к символу на определенной позиции, то ничего не мешает получить доступ к диапазону символов. Для этого используется конструкция в виде: строка[номер начального символа:номер конечного символа]. Пример кода, который реализует это — ниже:

В более подробном рассмотрении код ничем не отличается от кода, который выводит на экран символ на определенной позиции за исключением запроса последнего символа, и формирования диапазона выводимых символов на экран в строке:
print (text[s:f]) — где text — переменная с текстом, s — переменная начального символа, f — переменного конечного символа.

Кстати, при обработке диапазона символов иногда полезным бывает использование шага, с которым обрабатывается диапазон. Например, следующий код выведет на экран каждый 2 символ в диапазоне от первого до 26 (в примере использована фраза «А роза упала на лапу Азора»):

И для развлечения код:

в котором вы можете:
text = str(input(‘Введите свой текст:’)): задать свой текст
print(‘Количество символов в вашем тексте:’,len(text)): получить количество символов в вашем тексте
s = int(input(‘Какой символ будет начальным? :’)): указать начальный символ в диапазоне
f = int(input(‘Какой символ будет конечным? :’)): указать конечный символ в диапазоне
t = int(input(‘Какой шаг используем? :’)): указать желаемый шаг
print (text[s:f:t]): получить на экране символы из вашего текста с указанным шагом

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

Из наиболее часто используемых функций работы со строками можно указать:

S.split(символ), который разбивает строку по указанному разделителю. Пример выполняемого кода ниже:

Как видно из кода — у нас имеется некая строка, привязанная к переменной text. Для примера мы выводим эту переменную (строку) на экран, а второй раз выводим с использованием функции split(). В качестве разделителя я решил использовать букву «а», и … пример работы функции — вы видите на экране.

S.upper() — преобразование строки к верхнему регистру. Иногда возникает необходимость, например, исправить все введенное пользователем и преобразовать к верхнему регистру. Именно на этот случай и используется функция upper(). Пример работы кода — ниже:


S.lower() — преобразование строки в нижнему регистру. Полностью сходна с функцией upper(), но приводит текст к верхнему регистру:


Как видно из кода — у нас имеется переменная text, в которой расположен текст в верхнем регистре. Использование функции lower() приводит текст к нижнему регистру.

S.swapcase() — преобразование верхнего регистра в нижний, и наоборот:


S.center(width, ‘fill’) — позволяет получить строку, размещенную по центру пространства указанной ширины за счет добавления в начало и конец строки пробелов (в случае, если в поле ‘fill’ ничего не указано, или получить в качестве добавленных для отцентрирования текста символы, указанные вместо ‘fill’). На практике это выглядит следующим образом:


— код, где в качестве заполнения используется пробел. Или код, где в качестве заполнения используется знак %:


Интересно, что для выравнивания текста по левому или правому краю поля указанной ширины используются соответственно ljust и rjust (кстати, я когда готовил этот материал — подсознательно искал нечто вроде left — right и justify, как в HTML 🙂 ).

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut