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