Сообщить об ошибке.

Текстовые строки str в Python

Тип 'str' - текстовые строки представляют собой неизменяемые последовательности Юникода. Текстовые данные в Python обрабатываются с помощью встроенного класса str().

Тип str - текстовые строки можно создать различными способами:

  1. Одинарные кавычки: 'позволяет вставлять "двойные" кавычки'
  2. Двойные кавычки: "позволяет использовать встроенные 'одинарные' кавычки".
  3. Тройные кавычки:
    • '''три одинарные кавычки''',
    • """три двойные кавычки"""
  4. Могут быть созданы из других объектов с помощью класса str().

Текстовые строки в тройных кавычках могут занимать несколько строк - все связанные пробелы будут включены в итоговую строку.

Строки, которые являются частью одного выражения и имеют только пробелы между собой, будут неявно преобразованы в одну строку. То есть выражение ("hello" 'world') == "helloworld". Эту функцию можно использовать для уменьшения необходимого количества обратных слэшей при форматировании строки. Обратите внимание, что конкатенация литералов может использовать разные стили кавычек для каждого компонента, например можно смешивать необработанные строки и строки с тройными кавычками. А форматированные строковые литералы могут быть объединены с обычными строковыми литералами.

Для текстовых строк доступны следующие операции:

Текстовые строки поддерживают различные формы строковых литералов, включая [escape-последовательности][escape-sequence], а также префикс r"строка" - 'raw' необработанная (сырая) строка, который отключает обработку большинства escape-последовательностей.

В Python не существует отдельного типа "символ", поэтому для непустой строки string[0] == string[0:1].

Также нет изменяемого строкового типа, но str.join() или io.StringIO можно использовать для эффективного построения строк из нескольких фрагментов.

Строки также поддерживают два стиля форматирования строк, один из которых обеспечивает большую степень гибкости и настройки str.format() и другой, основанный на форматировании строк в стиле printf языка C. Стиль форматирования printf обрабатывает более узкий диапазон типов, его немного сложнее использовать, но он быстрее, чем str.format().

Изменено в Python-3.3: для обратной совместимости с Python-2 префикс u'строка' (строка Юникода) снова разрешен. Он не влияет на значение строковых литералов и не может быть объединен с префиксом r'строка' (сырая строка).

Дополнительно смотрите материалы:

Примеры использования создания строк и преобразования объектов к типу str:

>>> 'позволяет вставлять "двойные" кавычки'
# 'позволяет вставлять "двойные" кавычки'
>>> "позволяет использовать встроенные 'одинарные' кавычки"
# "позволяет использовать встроенные 'одинарные' кавычки"
>>> '''три одинарные кавычки'''
# 'три одинарные кавычки'
>>> """три двойные кавычки"""
# 'три двойные кавычки'
>>> '''"двойные кавычки" и 'одинарные кавычки' в строке с тройными кавычками'''
# '"двойные кавычки" и \'одинарные кавычки\' в строке с тройными кавычками'

# преобразование объекта к строке
# получим читаемое значение объекта
>>> str(65)
# '65'
>>> str(65,20)
# '65,20'
>>> str([1, 6, 3, 5])
# '[1, 6, 3, 5]'

Стандартная библиотека Python предоставляет огромные возможности по обработке строк: