Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Рассмотрим некоторые базовые операции — самые основные строковые функции и методы класса 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:

  1. Built-in Types
  2. Строки. Функции и методы строк
  3. Строковый тип