Работа со строками в Python.

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

Строки невозможно изменить – в этом случае говорят, что это immutable тип. Попытка изменить символ в определенной позиции или подстроку вызовет ошибку.

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

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

Строки в апострофах и в кавычках

S = 'spam"s'
S = "spam's"

Строки в апострофах и в кавычках – одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.

Экранированные последовательности

Экранированные последовательности позволяют вставить символы, которые сложно ввести с клавиатуры.

Экранированная последовательность Назначение
\n Перевод строки
\a Звонок
\b Забой
\f Перевод страницы
\r Возврат каретки
\t Горизонтальная табуляция
\v Вертикальная табуляция
\N{id} Идентификатор ID базы данных Юникода
\uhhhh 16-битовый символ Юникода в 16-ричном представлении
\Uhhhh… 32-битовый символ Юникода в 32-ричном представлении
\xhh 16-ричное значение символа
\ooo 8-ричное значение символа
\0 Символ Null (не является признаком конца строки)


Если перед открывающей кавычкой стоит символ ‘r’ (в любом регистре), то механизм экранирования отключается. Например:

S = r'C:\newt.txt'

Строки в тройных апострофах или кавычках

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

c = '''это очень большая
строка, многострочный
блок текста'"
print(c)
# Выведет: это очень большая
строка, многострочный
блок текста

Функции и методы строк

Конкатенация (сложение)

S1 = 'При'
S2 = 'вет'
print(S1 + S2)
# Будет выведено: 'Привет'

Дублирование строки

print('Привет' * 3)
# Выведет: ПриветПриветПривет

Длина строки (функция len)

len('Привет')
# Выведет: 6

Доступ по индексу

S = 'Привет'
S[0]
# Выведет: 'П'
S[2]
# Выведет: 'и'
S[-2] #Доступ к отрицательному индексу
# Выведет: 'е'

В Python возможен и доступ по отрицательному индексу, при этом отсчет идет от конца строки.

Извлечение среза

Оператор извлечения среза: [X:Y]. X – начало среза, а Y – окончание. Cимвол с номером Y в срез не входит. По умолчанию первый индекс равен 0, а второй – длине строки.

s = 'spameggs'
s[3:5]
# Выведет: 'me'
s[2:-2]
# Выведет: 'ameg'
s[:6]
# Выведет: 'spameg'
s[1:]
# Выведет: 'pameggs'
s[:]
# Выведет: 'spameggs'

Форматирование строк

Иногда бывает нужно сделать строку, подставив в неё некоторые данные, полученные в процессе выполнения программы. Подстановку данных можно сделать с помощью форматирования строк. Форматирование можно сделать с помощью оператора %, либо с помощью метода format.

Если для подстановки требуется только один аргумент, то значение – сам аргумент. Например:

'Hello, {}!'.format('Vasya')
# Будет выведено: 'Hello, Vasya!'

А если несколько, то значениями будут являться все аргументы со строками подстановки (обычных или именованных):

'{0}, {1}, {2}'.format('a', 'b', 'c')
# Будет выведено: 'a, b, c'

'{}, {}, {}'.format('a', 'b', 'c')
# Будет выведено: 'a, b, c'

'{2}, {1}, {0}'.format('a', 'b', 'c')
# Будет выведено: 'c, b, a'

'{2}, {1}, {0}'.format(*'abc')
# Будет выведено: 'c, b, a'

'{0}{1}{0}'.format('abra', 'cad')
# Будет выведено: 'abracadabra'

'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')
# Будет выведено: 'Coordinates: 37.24N, -115.81W'

coord = {'latitude': '37.24N', 'longitude': '-115.81W'}
'Coordinates: {latitude}, {longitude}'.format(**coord)
# Будет выведено: 'Coordinates: 37.24N, -115.81W'

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

3 ответа к “Работа со строками в Python.”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Связи между моделями.

Связи между моделями.

В нашем проекте есть одна модель под названием “Объявления”. В этой статье мы создадим новый класс модели “Rubric”, которая будет представлять рубрики объявлений. Допишем в

 
Параметры полей и моделей.

Параметры полей и моделей.

Для того, чтобы наша административная панель Django выглядела более понятна для обычного пользователя необходимо указать правильные названия полей. Наша созданная модель представляется непонятной аббревиатурой “Bbs”,

 
Административный web-сайт Django.

Административный web-сайт Django.

Административный web-сайт предоставляет доступ ко всем моделям, объявленным во всех приложениях, что составляют проект. С помощью данной панели можно просматривать, добавлять, править и удалять записи,

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: