Рассмотрим некоторые базовые операции — самые основные строковые функции и методы класса str в Python 3 на простых примерах. Полностью переписывать документацию нет смысла — она есть на официальных источниках всегда. А вот наочно рассмотреть простые практические примеры может быть полезно для начинающих программистов на Питоне.
Следует запомнить новичкам, что строки в Python являются неизменяемыми последовательностями, поэтому работа методов и функций происходит с созданием новой строки. Для этой цели и необходимо создание переменной.
Конкатенация — присоединение букв друг к другу без пробелов. По синтаксису данная простая функция реализуется через плюс (+, знак сложения). Пример:
a="prisoe" b="dinenie" print(a+b)
Дублирование строки осуществляется при помощи звёздочки * после самого элемента дублирования с указанием количества нужных копий. В примере специально после слова перед закрытием кавычек прописан пробел, чтобы копии были визуально разделены, иначе они будут слеплены в одно слово. Пример:
print("Example " * 4)
Длина строки реализуется при помощи функции len(). Возвращает количество элементов в строке. Синтаксис для примера следующий. Выведет в итоге число 12 (длину полную вместе с пробелом).
s=len('dlina stroki') print(s)
Доступ по индексу к определённому элементу. Можно использовать также и отрицательный индекс, в таком случае отсчёт начнётся с конца строки и не с нуля, а с единицы (с-1). Пример доступа по обычному и отрицательному индексу ниже.
p = 'primer' print(p[2]) print(p[-1]) print(p[-3])
Извлечение среза элементов строки происходит по формуле [a:b:c], где a – начало среза, b – его окончание (сам b в срез не входит), c – шаг среза. Первый индекс по умолчанию отсчитывается с нуля, а второй равен длине строки. Минус в данном случае нужен, если необходимо производить срез в обратную сторону (с конца). На примерах ниже всё понятно станет даже, если в теории неясно.
i="indeksirovanie" print(i[1:6])
#Два элемента через двоеточие. Срез списка с 1 по 6 индекс (шаг не указан, если в срезе всего 2 значения), значит будут выведены все элементы по указанным параметрам
i="indeksirovanie" print(i[3:-3])
#Два элемента через двоеточие, второй элемент имеет отрицательный индекс. Срез списка с 3 элемента (сначала) и до 3 элемента с конца списка (-3 означает что отсчёт будет произведён в обратную сторону)
i="indeksirovanie" print(i[:4])
#Если указать двоеточие, а затем переменную, срез будет произведён с первого элемента по индексу (с 0), число, идущее после двоеточия, указывает количество элементов в срезе
i="indeksirovanie" print(i[1:])
#Если указать сначала число, а затем двоеточие, срез будет выполнен из всего списка элементов, начиная с указанного индекса
i="indeksirovanie" print(i[0])
#Указано просто одно число (индекс) Срез списка из одного элемента (первого).
i="indeksirovanie" print(i[:])
#Указано просто двоеточие. В данном случае наличие пустых всех переменных из формулы показывает, что будет выведен весь список элементов с самого начала и до конца
i="indeksirovanie" print(i[::-3])
#Два двоеточия и значение. Шаг минус три при наличии двух пустых переменных в формуле будет производить срез с обратной стороны (конца списка) и выводить каждый третий элемент (начиная с индекса 0)
i="indeksirovanie" print(i[1:4:1])
#Указаны все элементы среза по формуле. Выведены элементы с 1 по 4 с шагом в 1.
i="indeksirovanie" print(i[6::6])
#Значение, затем пропуск (два двоеточия подряд). Указано начало и шаг среза.
Метод .isdigit() покажет состоит ли строка из цифр, а метод .isalpha() покажет, состоит ли строка из букв. Метод один и второй банально возвращает булевое значение (true/false). Для наочности есть простой пример проверки работы данных методов.
P = "FfDrtTyuhBGg478" if P.isdigit(): print("Yes, int") elif P.isalpha(): print("Yes,str") else: print("No") print("-----------------") P = "FfDrtTyuhBGg" if P.isdigit(): print("Yes, int") elif P.isalpha(): print("Yes,str") else: print("No") print("-----------------") P = "4567867345" if P.isdigit(): print("Yes, int") elif P.isalpha(): print("Yes,str") else: print("No")
Ну вот ещё для примера как можно проверить работу других методов со строками. Всё очень просто. Полный список методов и функций есть в документации на официальных ресурсах Python, там всё подробно расписано. Ниже наглядные примеры синтаксиса для чайников, как я.
S="test strok s perevodom registra" S.title() print(S) print(S.title()) #Первую букву в каждом слове метод переводит в верхний регистр. print(S.lower()) #Преобразование строки к нижнему регистру print(S.upper()) #Все буквы в каждом слове переводятся в верхний регистр
Легко запомнить — методы строк, которые начинаются на is являются булевскими (логического типа) и возвращают поэтому именно булевое значение: true если правда (то есть значение истинно) и false если ложь (если значение не является истиной). Перед методом должна стоять переменная, с которой будет работать данный метод, как в примерах выше. Примеры без переменной, не забудьте её добавить:
.istitle() #Начинается ли слово с большой буквы. Возвращает булевое значение (true/false). .isspace() #Состоит ли строка из неотображаемых символов. Возвращает булевое значение (true/false).
Теория+практика+практика+практика. Успехов в учёбе!
Ссылки по материалу с подробным объяснением строковых типов данных в Python: