Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
 

Розглянемо деякі базові операції — найосновніші базові функції і методи класу str в Python 3 на простих прикладах. Повністю переписувати документацію немає сенсу — вона є на офіційних джерелах завжди. А ось наочно розглянути прості практичні приклади може бути корисно для початкових програмістів на Python.

Слід запам'ятати новачкам, що рядки в 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. Строковый тип