Язык программирования Python поддерживает разные виды данных. В этой статье, предназначенной для начинающих, будет рассмотрен строковый тип string и основные операции, связанные с обработкой строк. Среди них:
- создание строк;
- конкатенация строк;
- выборка символов по индексам.
Создание строки
Строки (strings) используются для хранения текстовых данных. Их создание возможно одним из 3-х способов. Тут все просто, т. к. возможно применение разных кавычек: одинарных, двойных либо тройных. То есть в эти кавычки и нужно обернуть текст:
otus_string_1 = 'Привет, друзья!'
otus_string_2 = "Хотите выучить Python?"
otus_string_3 = """Ждем вас на наших курсах!"""
Кавычки в данном случае — это строковые литералы, позволяющие создавать в памяти программы Python объект типа string.
Нужно понимать, что разницы, какие именно кавычки использует разработчик, нет. Главное — открывающие и закрывающие кавычки должны быть однотипными. Если же поставить вначале одинарную кавычку, а в конце двойную — ошибки не избежать.
Можно ли применять кавычки внутри строк?
Можно, для чего есть несколько вариантов. Один из них — использовать внутри строки кавычки другого типа. К примеру, наружные кавычки являются двойными, а внутренние — одинарными. Или наоборот:
otus_string_1 = 'Хотите выучить "Пайтон?" и стать профессионалом'
otus_string_2 = "Запишитесь на курс в 'Отус' уже сегодня!"
Второй метод — экранирование. Для экранирования используется обратный слэш. Вот, как это выглядит в коде:
otus_string_1 = "Я и \'Пайтон\' созданы друг для друга"
У тройных кавычек есть особенности. Заключенные в них строки поддерживают многострочность, то есть для переноса не нужен символ \n. А еще внутри тройных кавычек можно вставлять как двойные, так и одинарные кавычки:
my_string = """Учитесь
программированию
в "Отус"!"""
print (my_string)
Вывод будет следующим:
Строки являются неизменяемыми объектами (как и числа). В этом легко убедиться, если создать переменные с одинаковыми именами, а потом вывести на экран их id — идентификаторы будут различаться:
otus_string = 'Привет, друзья!'
print(id(otus_string))
otus_string = "Хотите выучить Python?"
print(id(otus_string))
Рекомендуется повторить вышеописанные операции самостоятельно и попрактиковаться. Сделать это можно, даже не устанавливая «Пайтон», используя любой онлайн-компилятор.
Конкатенация строк
Конкатенация — это сложение строк, в результате чего они соединяются друг с другом. Самый простой способ сделать это — использовать простейший оператор сложения, то есть знак «+».
Это простейший синтаксис, причем можно брать сколько угодно строк и соединять их:
otus_string = "Я " + "просто " + "обожаю " + "Python!"
print(otus_string)
Если надо, можно задействовать и операнд умножения. Он позволит продублировать строку, умножив ее на соответствующее значение, которое разработчик передаст в коде.
otus_string = "Code" * 10
print(otus_string)
Важное свойство строк — длина (число символов). Узнать количество символов, из которых состоит строка, можно, задействовав встроенную функцию len (от англ. length — длина).
Код ниже посчитает число символов:
otus_string = "Python is a good for coding"
print(len(otus_string))
Итого: строка содержит 27 символов (пробел — тоже символ):
Можно попробовать передать пустую строку и постараться посчитать число символов в ней. Если вставить хотя бы пробел, на выходе получится 1 символ, если не вставлять вообще ничего, число символов будет равняться нулю.
otus_string_1 = ""
print(len(otus_string_1))
otus_string_2 = " "
print(len(otus_string_2))
Несколько слов о методах строк
Ранее уже использовались такие методы, как print и id. Есть свои методы и у строковых данных — они принадлежат конкретному классу str. Чтобы вывести их, можно воспользоваться функцией dir:
Зубрить каждый из них нет необходимости, так как нужные методы будут запоминаться с практикой. Чтобы обратиться к одному из них, следует сначала обратиться к соответствующему объекту, потом поставить точку, потом написать нужный метод и круглые скобки. Лучше это увидеть:
string_1 = "oTUs"
string_1 = string_1.title()
print(string_1)
string_1 = string_1.upper()
print(string_1)
string_1 = string_1.lower()
print(string_1)
Что отображено на скриншоте выше:
- была создана новая строка string_1 с содержимым “oTUs”;
- вначале задействовали метод title — вывод слова получился с заглавной буквы;
- потом использовали метод для верхнего регистра upper — заглавными (прописными) стали все символы строки;
- далее применили lower — все символы стали маленькими (строчными), то есть перешли в нижний регистр.
Какие еще есть методы:
- replace —для замены одной части исходной строки (подстроки) на другую;
- split — позволяет разделить (не удалить!) строку по переданному делителю, возвращает список;
- join — склеивает подстроки по конкретному разделителю;
- strip. В языке программирования Python strip используется для обрезки ненужных символов, причем ненужный символ передается в виде аргумента. Обрезку можно выполнять по-разному: если с первого символа слева, то применяют не strip, а lstrip, если справа, то rstrip (с конца строки, если интересует последний символ).
Индексы
В «Питоне» у каждого символа есть свой номер — индекс. Если разработчика интересует поиск какого-нибудь символа, к нему можно обратиться. Код ниже возвращает индекс для каждого символа из слова Otus:
string_1 = "Otus"
print(string_1[0])
print(string_1[1])
print(string_1[2])
print(string_1[3])
Тут важен один момент: индексация начинается не с единицы, а с нуля, поэтому первый символ имеет индекс 0.
Дополнительно: преобразование символа в целое число
Компьютеры хранят все данные в виде цифр, и символьных данных это тоже касается. Для представления символов строкового типа String применяют схему перевода. Самая простая из них — ASCII. Если нужно вернуть число для какого-нибудь конкретного символа, используют функцию ord. К примеру, для символа «a» кодовое значение по ASCII будет равняться 97, а для «#» — 35.
Кроме ASCII, также широко известен Unicode, который тоже поддерживается «Питоном».
Источники:
- https://zen.yandex.ru/media/id/5cab3ea044061700afead675/vse-o-strokah-v-python-5f60744e5622142b93b2031e;
- https://pythonru.com/osnovy/stroki-python.