Подстрока — это часть определенной строки символов. Например, «abra» является подмножеством «abrakadabra». Чтобы определить, является ли конкретная подстрока частью строки, используется оператор in:
Строки (String)
До сих пор мы обсуждали числа как стандартные типы данных в Python. В этом разделе учебника мы рассмотрим самый популярный тип данных в Python: алфавитно-цифровой.
Строка в Python — это набор символов, окруженных одинарными, двойными или тройными кавычками. Компьютер не понимает эти символы; он хранит управляемый символ внутри себя как комбинацию 0 и 1.
Поскольку каждый символ кодируется в ASCII или Unicode, строки Python также можно рассматривать как набор символов Unicode.
В Python строки можно создавать, заключая символ или последовательность символов в кавычки. В Python мы можем использовать одинарные, двойные или тройные кавычки для создания строки.
Рассмотрим следующий пример создания строки в Python.
str = "Hello Python!"
Если проверить тип переменной str с помощью сценария Python print(type(str)), то будет выведено:
В Python строки рассматриваются как последовательность символов, что означает, что Python не поддерживает символьный тип данных; вместо этого один символ, записанный как p, рассматривается как строка длины 1.
Создание строки в Python
Мы можем создать строку, заключив символы в одинарные или двойные кавычки. Python также предоставляет тройные кавычки для представления строки, но они обычно используются для строк или многострочных документов.
#Используем одинарные кавычки str1 = 'Hello Python' print(str1) #Используем двойные кавычки str2 = "Hello Python" print(str2) #Используем тройные кавычки str3 = '''''Тройные кавычки обычно используются для представления многострочной или doc-строки'' print(str3)
Hello Python Hello Python Тройные кавычки обычно используются для представления полилинии или docstring
Индексация и разбиение строк в Python
Как и в других языках, Python начинает индексировать строки с 0. Например, строка » HELLO » индексируется следующим образом.
Рассмотрим следующий пример:
str = "HELLO" print(str0) print(str1) print(str2) print(str3) print(str4) # Возвращает IndexError, потому что 6-й индекс не существует print(str6).
H E L L O IndexError: строковый индекс вне диапазона
В Python мы можем использовать оператор : (двоеточие) для доступа к подстроке заданной строки. Рассмотрим следующий пример.
Обратите внимание, что верхний диапазон, заданный оператору slice, всегда является эксклюзивным, т.е. если задан str = ‘HELLO’, то str1:3 всегда будет содержать str1 = ‘E’, str2 = ‘L’ и ничего больше.
Рассмотрим следующий пример:
# Дана строка str = "JAVATPOINT" # Запускаем 0-й индекс до конца print(str0:) # Запускаем 1-й индекс до 4-го print(str1:5) # Запускаем 2-й индекс до 3-го print(str2:4) # Запускаем 0-й индекс до 2-го print(str:3) # Запускаем 4-й индекс до 6-го print(str0:) # Запускаем 4-й индекс до 6-го print(str0:) # Запускаем 4-й индекс до 6-го print(str0:) # Запускаем 4-й индекс до 6-го print(str0:) # Запускаем 4-й индекс до 6-го print(str0:) # Запускаем 4-й индекс до 6-го print(str0:)
JAVATPOINT AVAT VA JAV TPO
Мы можем создать отрицательную строку; она начинается с крайнего правого символа, который раве н-1. Второй крайний справа индекс будет раве н-2 и так далее. Рассмотрим следующую иллюстрацию.
Рассмотрим следующий пример
str = 'JAVATPOINT' print(str-1) print(str-3) print(str-2:) print(str-4:-1) print(str-7:-2) # Инвертируем заданную строку print(str::-1) print(str-12)
T I NT OIN ATPOI TNIOPTAVAJ IndexError: String index out of range
Склеивание и разделение строк
Самый простой способ объединить строки в Python — это соединить их с помощью символа » + «. Давайте рассмотрим пример:
str = "a "+"b" print(str) # печатает "off".
Но этот метод не всегда срабатывает. Рассмотрим метод join():
str = "a", "b", "c" print(".join(str)) # печатает "abc".
Перед .join() мы указываем разделитель строк и таблицу строк в скобках.
Для разделения строк мы используем противоположный метод — split(). Здесь поместите ряд символов в круглые скобки и не забудьте указать имя строки перед методом и поставить точку после него. Рассмотрим следующий пример:
str = "a,b,c" print(str.split(",")) # печатает 'a', 'b', 'c'.
Существует другой способ разделения строк, называемый срезом. Фрагмент strx:y дает нам строку от x до y. Необязательно использовать оба, строка нарезается с начала или конца строки.
str = "Строки в Python и методы работы с ними" print(str9:15) # печатает "Python".
С начала строки:
str = "Строки в Python и методы работы с ними" print(str:15) # Будет выведено "Строки в Python".
До конца:
str = "Строки в Python и методы работы с ними" print(str18:) # выведет "методы работы с ними"
Вы также можете прервать каждый символ века двойным двоеточием:
str = "123456789" print(str::2) # выведет "13579".
Форматирование строк в Python
Чтобы заменить любую переменную, которая может быть результатом основного кода в строке, нам понадобится f-string. Эти строки были введены в Python 3.6, поэтому я рекомендую использовать только последнюю версию этого языка программирования. В качестве примера возьмем f-строку:
num = 2*10 num2 = 100 str = f "Первое число:. второе число:" print(str) # Выведите "Первое число: 20. Второе число: 100".
Поиск в строках
Когда нам нужно найти серию символов в начале или конце заданной строки, на помощь приходят два быстрых метода.
Первый метод — startswith(). Он позволяет искать серию символов в начале строки. Давайте рассмотрим пример:
str = "Строки в Python и методы работы с ними" print(str.startswith("Strings")) #выведет true
Второй метод — endswith(). Он ищет строку символов в конце строки. Давайте рассмотрим пример:
str = ". Я разобрал строки на JavaScript" print(str.endswith("JavaScript")) #выведет True
А если нам нужно найти набор символов где-то в строке, мы используем метод find(). Давайте рассмотрим пример:
str = "Строки в Python и методы работы с ними" print(str.find("Python")) # выведет 9
В данном случае скрипт нашел набор символов в строке и печатает индекс начала его вхождения в строку.
str = "Строки в Python и методы работы с ними" print(str.find("JavaScript")) #выведе т-1
В этом случае скрипт не нашел набор символов в строке и вывел » -1 «.
Сложение и умножение строк
Как уже упоминалось в предыдущей главе, строки можно соединять вместе, что также называется конкатенацией:
>>>str1 = 'Python'>>>str2 = ' - '>>>str3 = 'самый гибкий язык программирования'>>>print(str1 + str2 + str3) Python - самый гибкий язык программирования.
При необходимости строка может быть умножена на целое число — эта операция называется копированием:
>>>stroka = '*** '>>>print(stroka * 5) *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***.
Индексация строк в Python
Для доступа к определенному символу в строке используйте указатель — индексный номер элемента. Python поддерживает два типа индексации — положительную индексацию, которая начинается с 0 и отсчитывается от начала строки, и отрицательную индексацию, которая начинается с-1 и отсчитывается от конца:
Положительные показатели | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
Пример линии | P | r | o | g | l | i | b |
Негативные показатели | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
Чтобы получить конкретный элемент строки, его индекс должен быть указан в квадратных скобках:
>>>stroka = 'программирование'>>>print(stroka7) м>>>print(stroka-1) e
Срезы строк в Python
Индексы позволяют работать с отдельными элементами строки. Слайсы используются для работы с подмножествами, указывая нужный диапазон:
>>>stroka = 'программирование'>>>print(stroka7:10) world
Пересечение a:b начинается с первого указанного элемента a включительно и заканчивается последним указанным элементом, при этом b не включается в результат:
>>>stroka = 'программa'>>>print(stroka3:8) gram
Если вы не укажете первый элемент диапазона :b, то пересечение будет от начала строки до позиции второго элемента b :
>>>stroka = 'программa'>>>print(stroka:4) prog
Если второй элемент a: не указан, пересечение производится от позиции первого символа до конца строки:
>>>stroka = 'программa'>>>print(stroka3:) gram
Если ни начальная, ни конечная позиция фрагмента не указаны, фрагмент соответствует исходной строке:
>>>stroka = 'позиции не заданы'>>>print(stroka:) позиции не указаны.
Шаг среза
В дополнение к диапазону можно также указать позицию среза. В следующем примере выбирается символ из исходной позиции фрагмента, а затем каждая 3-я буква из диапазона:
>>>stroka = 'Python лучше всего подходит для новичков.'>>>print(stroka1:15:3) walshv
Шаг может быть отрицательным, в этом случае символы выбираются из конца строки:
>>>stroka = 'это пример отрицательного шага'>>>print(stroka-1:-15:-4) a nt
Усечение ::-1 может быть очень полезным для решения проблем с палиндромами:
>>>stroka = 'А роза упала на лапу Азора'>>>print(stroka::-1) arozA fell an alapu azor A
Заключение
Я не раз слышал от разных людей, что они учились программировать на JavaScript или PHP и не добились особых успехов. И сразу после первой неудачной попытки они бросали программирование, потому что считали, что у них нет к нему способностей. Позже они признались, что некоторые странные вещи в JavaScript/PHP стали понятны, когда они изучили Python.
Почему это произошло? Я объясняю это явление с помощью простейшего синтаксиса Python. Как новичок, вы можете больше сосредоточиться на логике в ущерб более легкому пониманию синтаксиса. В этом секрет успеха! Не сдавайтесь так быстро, попробуйте видеокурс Python, на простом языке и с упражнениями к урокам!
Создано 28.10.2019 10:23:57
Копирование материала разрешено только с указанием автора (Михаил Русаков) и индексируемой прямой ссылки на сайт (http://myrusakov.ru)!
Добавить в друзья ВКонтакте: http://vk.com/myrusakov. Если вы хотите оценить меня и мои работы, разместите их в моей группе: http://vk.com/rusakovmy.
Если вы хотите получать информацию о новых материалах, вы можете подписаться на обновления: Подпишитесь на обновления.
Если у вас есть вопросы или вы хотите прокомментировать эту статью, вы можете оставить комментарий внизу страницы.
Порекомендуйте эту статью своим друзьям:
Если вам понравилась страница, поставьте на нее ссылку (на своей странице, на форуме, в контакте):
- Кнопка: Она выглядит вот так:
- Текстовая ссылка: Она выглядит вот так: Как создать свой сайт
- BB-код ссылки для форумов (например, можете поставить её в подписи):