Что такое объекты типа str в Python

Имя str в Python используется для обозначения строк. Это встроенный тип данных, представляющий собой упорядоченные последовательности символов Юникода. Обычно строки содержат текстовую информацию. Они аналогичны массивам языка Си, но обладают рядом мощных средств для обработки.

Литералы строк

Существует несколько способов записи строк. Самыми популярными являются кавычки и апострофы. Они взаимозаменяемы и их использование позволяет исключить символ обратного слеша «\»:

  • >>>Пример_1 = «Так записываются строки»

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

  • >>>Пример_2 = «««Приблизительный набор слов для «блочной строки» в Питоне»»»

Базовые операции

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

  • >>>Стр_1 = «FB» #Присваиваем значение
  • >>>Стр_1
  • «FB»
  • >>>Стр_2 = Стр_1 + «.» + «ru» #выполняем конкатенацию
  • >>>Стр_2
  • «FB.ru»
  • >>>Стр_3 = «O» * 3 + «PS!» #повторение и конкатенация
  • >>>Стр_3
  • «OOOPS!»
  • >>>len(Стр_3) #вычисление длины
  • 6

Так как в Python str являются неизменяемыми типами, каждая операция создает новый строковый объект.

Индексирование строк

К каждому элементу строки можно обращаться по его позиции или по порядковому номеру. Отсчет начинается не с привычной единицы, а с нуля. Для работы с индексами используются квадратные скобки. Поэтому если вы хотите извлечь второй символ, вам нужно передать интерпретатору команду «имя объекта»[1]:

  • >>>Стр_3[1]
  • «O»

При извлечении среза номер слева от оператора «:» означает левую границу включительно. Номер справа означает элемент, до которого будет извлечен срез. Важно помнить, что объект, указанный справа от двоеточия, в срез не входит:

  • >>>Стр_3[3:5]
  • «PS»

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

В языке Python str() может вызываться как встроенная функция. В качестве аргумента она принимает любые объекты и возвращает их строковое представление. Например, если вам нужно выполнить конкатенацию, с обеих сторон знака «+» должны быть данные одного типа. Иначе интерпретатор выдаст сообщение об ошибке:

  • >>>5+ «dogs» + «run»
  • Traceback (most recent call last): … TypeError
  • >>>str(5) + « dogs » + « run.»
  • «5 dogs run.»

Вместо str() допускается использование другой функции repr(). Она также выполняет преобразование, но возвращает объект в качестве строчки кода в расширенном варианте.

Для углубленной обработки строк существует мощный набор специфичных для этого типа данных методов. Формально – это атрибуты, присоединенные к объектам, ссылающимся на функции.

Синтаксически конструкция использования строковых методов выглядит следующим образом: «объект.метод(аргумент)».

  • >>>l= «ggffkkllrr»
  • >>>l.replace(«ff», «gg»)
  • «ggggkkllrr»

В примере использовался способ замены элементов .replace(). Этот универсальный метод в качестве аргументов принимает строки любой длины и выполняет глобальный поиск с последующей заменой.

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

Статья закончилась. Вопросы остались?
Подписаться
Я хочу получать
Правила публикации
Следят за новыми комментариями — 6
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.