Языки программирования

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

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

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

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

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

S = 'spam"s'
S = "spam's"
Строки в апострофах и в кавычках — одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.

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

Экранированные последовательности позволяют вставить символы, которые сложно ввести с клавиатуры.
Если перед открывающей кавычкой стоит символ ‘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'
Видео по строкам в Python:
Самоучитель по Python