Приветствую на моем канале, и сегодня мы узнаем, что можно делать со строками (не путайте строки и строчки!).
Строка - ячейка данных, записанная в формате string.
Как известно, в одном из форматов данных в python - string - записываются любые символы, их может быть любое количество, и вообще его можно считать «самым свободным» форматом, если можно так сказать. С ним не проводятся математические операции, кроме одной, которую мы сейчас разберем.
Функции с форматом string
Умножение int на str
Форматы integer и float хорошо взаимодействуют: данные, записанные в этих форматах, можно умножать и делить друг на друга, вычитать их друг из друга, складывать друг с другом, а с форматом string есть только одна операция: умножение данных формата integer на данные формата string. Попробуем умножить строку 'Привет' на 3. Результатом будет 'ПриветПриветПривет'. Если умножать на 0 или отрицательные целые числа, то результатом будет '', то есть ничего. Внимание, при умножение данных string на данные float получится ошибка!
len() - кол-во символов
Следующая функция, которую мы узнаем - len(). Она возвращает количество символов в строке. Например, len('Город') = 5, а len(' Город') = 6 из-за пробела в начале.
Пользуясь этим можно составить программу, которая будет выводить количество символов в строке:
Помните, что считается все: знаки препинания, буквы, цифры, пробелы и т.д..
Индексы
Каждый символ строки имеет свой индекс. А вот здесь один из сложных этапов обучения для начинающих: индексы начинаются не с единицы, а с нуля. То есть первый символ имеет индекс 0, второй - индекс 1 и т.д.. Python интересен тем, что он также может считать символы с конца. Последний элемент имеет индекс -1, предпоследний -2 и т.д..
Как известно, мы можем написать, допустим, такой код:
a='Слоник'
print(a)
И нам напечатается только само это слово. Мы же с вами можем попросить вывести только один символ с каким-то определенным индексом, например, индексом 4. Для этого нам надо записать индекс в квадратных скобках после названия переменной.
a='Слоник'
print(a[4])
Напечатается буква 'и'. Разумеется, мым можем и записать этот символ в переменную:
a='Слоник'
g=(a[4])
print(g*4)
Выведется 'ииии'. Замечу, что все это можно записать в одну строку:
print('Слоник'[4]*4)
Срезы
Как правило нужно выводить не какой-то один символ строки, а ее часть. Выводить группу символов вручную сложно, поэтому существует функция срезов.
Срез - извлечение из данной строки одного символа или некоторого ее фрагмента
Начало такое же, как в прошлый раз: пишем квадратные скобки после названия переменной, но в них записываем два двоеточия.
print(a[::])
Теперь у нас есть три данных: индекс символа, с которого начинается срез (слева от первого двоеточия), индекс символа, которым он кончается (между двоеточиями) и шаг (через каждые <шаг> символов брать по одному символу). Например:
a='Достопримечательность'
print(a[3:18:2])
Разберем, что же выведется на экран:
Первый символ имеет индекс 3, значит им будет буква 'т'. Мы имеем шаг 2, значит будем пропускать по одному символу. Следующими будут 'п', 'и', 'е', 'а', 'е', 'ь', 'о', а вот 'т' уже не войдет, т.к. его индекс 19, а в функции print указан 18-ый. Значит, программа ответит 'тпиеаеьо'.
find
В принципе несложная для понимания функция. Она ищет некий символ в строке и возвращает его индекс. Записывается она следующим образом:
a='Медведи'
print(a.find('в'))
Буква 'в' в этой строке имеет индекс 3, значит он и выведется на экран. Если бы мы ввели вместо буквы 'в' букву 'д', то результатом было бы число 2, несмотря на то что в слове две такие буквы. Функция ищет только первую из них.
Функция rfind() отличается только тем, что ищет не с первого символа до последнего, а с последнего до первого. Также надо уточнить, что функция возвращает первый вариант индекса (0 и более, а не отрицательный). Если искомого элемента в строке нет, то результатом является -1.
На этом урок подошел к концу, пишите свои мысли в комментариях, всем пока!