83 подписчика

Python: Строковый тип данных

 Поговорим о строковом типе данных и научимся использовать встроенные функции len(), str(), а также работать с операторами +, *, in.

Поговорим о строковом типе данных и научимся использовать встроенные функции len(), str(), а также работать с операторами +, *, in.

Строковый тип данных

Строковый тип данных, как и числовой, очень часто используется в программировании. В Python строковый тип данных имеет название str (сокращение от string — струна, ряд).

Для создания строковой переменной (литерала), мы должны заключить необходимый текст в кавычки. В Python можно использовать как одинарные кавычки, так и двойные:

Пример str с одинарными и двойными кавычками

Напомним, что по умолчанию, команда input() считывает именно строку текста:

s = input() # переменная s имеет строковый тип str

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

Пример того что регистр реагирует на пробел

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

Длина строки

Длиной строки называется количество символов из которых она состоит. Чтобы посчитать длину строки используем встроенную функцию len() (от слова length – длина).

Следующий программный код:

Пример вычисления длинны строки

выведет:

6

13

При подсчете длины строки считаются все символы, включая пробелы.

Преобразование чисел в строку

Для преобразования строки к числу мы использовали функции int() и float(). Для обратного преобразования, то есть из числа в строку мы используем функцию str():

Рассмотрим следующий программный код:

Пример преобразования числового типа данных в строковый

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

Конкатенация строк

Строки, как и числа, можно складывать. Операция сложения строк называется конкатенацией или сцеплением.

Рассмотрим следующий программный код:

Пример сцепления строк

Результатом выполнения такого кода будет:

abbc

bcab

abbcbcab!!

Операция сложения строк в отличие от операции сложения чисел не является коммутативной, то есть, от перестановки мест слагаемых-строк результат меняется!

С помощью конкатенации строк можно эмулировать вывод данных, который раньше мы делали используя необязательные параметры sep и end. Следующие две строки кода делают одно и тоже:

Пример как можно писать код сцепления

Результатом выполнения такого кода будет:

a*b*c!

a*b*c!

Умножение строки на число

В Python так же можно умножать строку на число. Такой оператор повторяет строку указанное количество раз.

Рассмотрим следующий программный код:

Пример умножения строки

Результатом выполнения такого кода будет:

HiHiHiHi

Строку можно умножать на число, но нельзя умножать на строку.

Примечания

Примечание 1. Тройные кавычки в Python используются для многострочного (multiline) текста. Например,

Тройные кавычки в Python

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

Использование двойных и одинарных кавычек

Результатом выполнения такого кода будет:

Мы можем использовать в одиночных кавычках двойные кавычки "Война и мир"

Мы можем использовать в двойных кавычках одиночные кавычки 'Война и мир'

Оператор in

В Python есть специальный оператор in, который позволяет проверить, что одна строка находится внутри другой.

Рассмотрим следующий код:

Поиск символа 'a' в строке

Такой код проверяет, содержится ли в переменной s символ a и выводит соответствующий текст.

Мы можем использовать оператор in вместе с логическим оператором not. Например

Поиск точки в строке

С помощью оператора in мы можем упростить следующий код, проверяющий, что в переменной s находится один из 5 символов a, e, i, o, u:

Поиск в переменной s - 'a' 'e' 'i' 'o' 'u'

до вида:

Примечания

Примечание. Если строка s1 содержится в строке s2, то говорят, что строка s1 является подстрокой для строки s2. Другими словами, оператор in определяет является ли одна строка подстрокой другой.

В данной теме рассмотрели что такое строковый тип данных, как вычислять длину строки, как произвести "Сложение" и "Умножение" строки на строку.