|
|
Програмування мовою Python: основи та практика Електронний посібник |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ТЕМА 7.4. РЯДКОВІ ВЕЛИЧИНИ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Як у
більшості мов програмування, так і в Python,
символ є найменшою одиницею
тексту. Це може бути літера, цифра або спеціальний символ, як-от пробіл або
символ нового рядка. Весь текст представляється як рядок, який є
послідовністю таких символів. Python часто використовують для обробки текстових даних:
пошуку, заміни та інших операцій. Для цього використовують спеціальний тип даних ‒ рядок або str.
Він дає змогу
працювати з будь-яким текстом у текстовому форматі. Символи рядка в Python можуть бути
будь-якими символами, що відповідають стандарту Unicode.
У Python 3 немає
окремого типу ASCII-рядків; якщо потрібно отримати рядок у суто ASCII-кодуванні, потрібно використовувати
відповідний метод перекодування. Важливо зазначити, що в мові Python немає окремого типу для
окремого символу рядка. Кожен символ також є рядком. Також слід відмітити, що рядковий тип в Python є незмінним
‒ його не можна змінювати
після створення. У мові Python є декілька способів задання рядкових літералів. Наприклад,
можна розмістити текст в одинарних або подвійних
лапках, і такий запис сприйматиметься, як текстовий літерал:
Наявність двох
таких варіантів забезпечує створення рядків, які міститимуть одинарні чи
подвійні лапки всередині тексту і однозначно визначати кінці рядка.
Іншим методом
додавання в рядок одинарних чи подвійних лапок є так зване екранування
символу. Для екранування символу перед ним записується
символ оберненої косої
риски (обернений слеш, бекслеш,
backslash)
«\».
Рядкові
літерали можна присвоювати змінним, які матимуть рядковий тип, і в подальшому
використовувати їх:
Під час
роботи з текстовими даними іноді потрібно створити багаторядковий текстовий
блок. Це може бути корисно як багаторядковий коментар у програмі або як
анотація (синтаксис, за допомогою якого формуються підказки в мові Python) для функції. Щоб задати текст, який розміщений у декількох рядках,
і вважати його одним текстовим літералом, його необхідно помістити в потрійні одинарні або подвійні лапки (‘‘‘або’’’). Також
всередині цього рядка можна використовувати одинарні або подвійні лапки,
головне ‒ уникати трьох лапок поспіль.
>>> s=str()
>>> s1=‘Привіт’ >>> s2=«Привіт» >>> c=‘‘‘Це дуже довгий текст, записаний в декілька рядків’’’ Корисною буде
обернена скісна риска й у тому разі, якщо ми захочемо створити текстовий літерал (текстове значення),
який займає декілька рядків коду. Символ \
у кінці рядка коду всередині текстового літерала означає перенос
рядка.
Аналогічно до
введення числових даних, введення рядкових даних відбувається з використанням функції input().
Ви здатні
перетворити будь-який стандартний об’єкт у відповідний йому рядковий тип або
отримати для нього неформальне текстове представлення. Це можна
зробити за допомогою функції `str()`, передавши
об’єкт як аргумент, який
ви хочете перетворити у рядок.
Можна
створювати нові рядки, об’єднуючи кілька існуючих рядків. Це досягається за
допомогою операції додавання («+»), яка
призначена для конкатенації рядків.
Незважаючи на
незмінюваність рядкового типу, рядок може бути розширеним, тобто до рядка
можна додати деякий інший, використовуючи операцію конкатенації.
У мові Python з урахуванням суто типування неможливо виконати операції над даними різних, несумісних типів
без відповідних перетворень. Наприклад, об’єднання рядка і числа неможливе
без попереднього перетворення числового значення у рядковий формат. Отже, для
об’єднання рядків та чисел слід спочатку перетворити числове значення у
рядковий формат, а потім використовувати операцію конкатенації для об’єднання
двох рядкових значень.
Аналогічно до
перевизначеної операції («+»),
в мові Python
перевизначена і операція множення «*». Якщо
виконати операцію «*» рядка s на ціле
число n, то як результат буде отриманий рядок, що складається з n повторень рядка s:
У кожного символу у рядку є свій порядковий номер, який
називається індексом. Для доступу до символів в рядку використовується їхня
індексація. У багатьох мовах
програмування, зокрема Python, нумерація символів у рядку
розпочинається з нуля. Щоб отримати доступ до конкретного символу у рядку,
потрібно вказати ім’я змінної з рядком та в квадратних дужках його індекс: (рядок[індекс]).
Індекси можуть бути від’ємними, в такому разі нумерація буде відбуватися з кінця (кількість символів рядка + від’ємний індекс).
Якщо ж
розглянути всі індекси для рядка ‘Привіт!’, отримаємо:
Можна перевірити приналежність деякого символу (підрядка) до
рядка, використовуючи оператор in (підрядок
in рядкок).
Часто виникає
потреба отримати не лише один символ за його індексом, а групу символів за
певними правилами. Наприклад, перші 5, останні 3 або кожен другий символ. У
таких ситуаціях зручно використовувати зріз (slice, slicing),
який дає змогу отримати певну частину
рядка. Результатом зрізу є новий рядок, що складається з обраних символів.
Варто зауважити, що вибираючи символ за індексом або формуючи зріз, ми не
змінюємо оригінальний рядок, а лише копіюємо його частину для подальшого
використання. Для
визначення зрізу можна використовувати один із методів:
Для рядку str береться зріз від символу з індексом start, до символу з індексом stop (не включаючи його), з кроком step (тобто будуть взяті символи з індексами start, start + step, start
+ 2 * step і т. д.). Також в процесі запису зрізу деякі, а можливо і всі параметри можуть бути
опущені (знаки двокрапки в записі все одно залишаються). У разі відсутності
деяких параметрів їх встановлюється їх початкове значення, а саме: start = 0, stop = кількості символів рядку, step = 1.
Якщо опустити другий параметр
(залишивши двокрапку), то зріз береться до кінця рядка. Наприклад, щоб
отримати зріз без перших двох символів, можна записати S[2:]. Якщо опустити перший параметр, то
отримаємо зріз, який містить вказану кількість символів, що йдуть від початку рядка.
У разі задання значення третього параметра, який дорівнює 2, у зріз потрапить кожний другий символ
рядка.
Можна бачити, що взяття
зрізу схоже на створення діапазону (range()). Якщо значення параметра stop перевищуватиме кількість символів в рядку, воно буде проігнороване.
У разі, якщо параметри
start і stop мають від’ємні значення, то нумерація відбувається з кінця (кількість
символів рядка + від’ємний індекс).
Наприклад, S[1: -1] – це рядок без першого і останнього символу
(зріз починається символом з індексом 1 і закінчується символом з індексом -1, не включаючи його).
Якщо параметр step
має від’ємне значення, то зріз береться
справа наліво.
В останньому прикладі був отриманий порожній рядок, оскільки start < stop, а step від’ємний.
Раніше було зазначено, що рядки є набором окремих символів.
Щоб визначити, скільки символів міститься у рядку (його
довжину), можна використати функцію len(рядок).
Як зазначалося
раніше, рядки вважаються незмінними типами, що означає, що неможливо змінити
значення символу у рядку або видалити його.
За необхідності можна записати оператори для зміни чи
вилучення окремих символів рядка, проте як результат ми отримаємо новий
рядок.
Як вже
зазначалося, кожен символ у текстовому рядку має свій унікальний код. Іноді виникає
необхідність отримання цього коду для конкретного символу або виконання
зворотної операції – отримання символу за його кодом. У мові
Python символи
представлені у форматі Unicode. Для отримання
коду символу використовується функція
ord(c), яка повертає ціле число, що відповідає коду
цього символу.
Зворотною до функції ord() є функція chr(n), за якою для цілого числа n
(від 0 до 1114111=0x10FFFF) повертається символ (рядок, що є єдиним
символом), для якого n є його
кодом.
Отже, функція print() розпізнала escape-послідовність і виконала перехід на новий рядок. Проте іноді потрібно, щоб символ оберненого слешу не сприймався як початок escape-послідовності. Наприклад,
це може бути важливим, коли ви вказуєте шлях до файлу в операційній системі Windows. Для вимкнення
аналізу escape-послідовностей
перед відкривною лапкою потрібно вставити символ r (у будь-якому регістрі).
Проте рядки з відключеним аналізом escape-послідовністей не можуть закінчуватися символом оберненого
слешу. Але це можна обійти:
Під час роботи з методами рядків важливо пам’ятати, що тип даних у рядках Python
є незмінним. Це означає, що всі методи рядка повертають
новий рядок, не змінюючи початковий. Щоб змінити сам рядок, потрібно
викликати відповідний метод і призначити його результат тій самій змінній, де зберігається початковий рядок: str=str.метод(). str.find(substr
[, start [,end]]). Повертає найменший індекс, за яким знаходиться початок підрядка substr в зрізі str[start:end] (необов’язкові параметри start та end інтерпретуються як нотації зрізу). Тобто знаходиться
перше входження підрядка
в рядку. Значення, що повертається,
є індексом рядка str. Якщо підрядок не знайдено, то
повертається значення -1.
str.rfind(substr
[, start [,end]]). Повертає найбільший індекс, за яким знаходиться початок підрядка substr в зрізі str[start:end] (необов’язкові параметри start та end інтерпретуються як нотації зрізу). Тобто знаходиться
останнє входження підрядка в рядку. Значення, що повертається, є індексом рядка str. Якщо підрядок не знайдено, то повертається значення -1.
str.index(substr
[, start [,end]]). Повертає найменший індекс, за яким знаходиться початок підрядка substr в зрізі str[start:end] (необов’язкові параметри start та end інтерпретуються як нотації зрізу). Тобто знаходиться
перше входження підрядка
в рядку. Значення, що повертається,
є індексом рядка str.
Якщо підрядок не знайдено, то виникає виняток ValueError. str.rindex(substr [, start [,end]]).Повертає найбільший індекс, за яким знаходиться початок підрядка substr в зрізі str[start:end] (необов’язкові параметри start та end інтерпретуються
як нотації зрізу). Тобто знаходиться останнє входження підрядка в рядку.
Значення, що повертається,
є індексом рядка str.
Якщо підрядок не знайдено, то виникає виняток ValueError. str.startswith(prefix[, start[, end]]). Повертає True, якщо зріз str[start:end] (необов’язкові параметри start
та end інтерпретуються як нотації зрізу) починається з префіксу prefix (prefix може
бути кортежем, в такому разі як префікс
перевіряються всі елементи кортежу), інакше – False.
str.endswith(suffix[, start[, end]]). Повертає True, якщо зріз str[start:end] (необов’язкові параметри start та end інтерпретуються як нотації зрізу) закінчується на суфікс suffix (suffix може бути кортежем, в такому разі як суфікс перевіряються всі елементи кортежу), інакше – False.
str.count(substr
[, start [,end]]). Повертає кількість входжень підрядка sub в зріз str[start:end] (необов’язкові параметри start та end інтерпретуються як нотації зрізу) без самоперетинів.
str.isalpha(). Повертає True, якщо рядок є непорожнім і складається лише з алфавітних символів, інакше – False.
str.isdecimal(). Повертає True, якщо рядок є непорожнім і складається лише з десяткових цифр (десяткових символів), інакше – False.
str.isdigit(). Повертає True, якщо рядок є непорожнім і складається лише з цифр, інакше – False.
Наприклад, до
них належать цифри надрядкового
знака.
str.isnumeric(). Повертає True, якщо рядок є непорожнім і складається лише з числових символів, інакше – False.
str.isalnum(). Повертає True, якщо рядок є непорожнім і складається лише з літеро-числових символів, інакше – False.
str.islower(). Повертає True, якщо рядок містить принаймні одну літеру, і всі літери записані в нижньому регістрі, інакше – False.
str.isupper(). Повертає True, якщо рядок містить принаймні одну літеру, і всі літери записані в верхньому регістрі, інакше – False.
str.istitle(). Повертає True, якщо рядок містить принаймні одну літеру, і літери, записані в верхньому регістрі, не йдуть безпосередньо після літер в нижньому чи верхньому регістрі, а перед групою літер в нижньому регістрі завжди стоїть літера в верхньому регістрі, інакше – False.
str.isspace(). Повертає True, якщо рядок є непорожнім і складається лише з символів пропуску (whitespace), інакше – False.
Наприклад, до таких символів належать: пробіл, перехід на нову сторінку
(\f), перехід на новий рядок (\n), переведення каретки (\r), горизонтальна та вертикальна табуляції (\t та \v).
str.isprintable(). Повертає True, якщо рядок містить лише символи, що друкуються (можуть бути виведені під час друкування), інакше – False. До символів, що друкуються, не входять символи пропуску (whitespace) окрім пробілу.
str.upper(). Повертає
копію рядка, в якому всі літери, записані в нижньому регістрі, будуть
приведені до верхнього регістру.
str.lower(). Повертає
копію рядка, в якому всі літери, записані в верхньому регістрі, будуть
приведені до нижнього регістру.
str.swapcase(). Повертає
копію рядка, в якому всі літери, записані в верхньому регістрі, будуть
приведені до нижнього регістру, а нижньому – до верхнього.
str.title(). Повертає
копію рядка, в якому перша літера кожного слова буде приведена до верхнього
регістру, а всі інші – до нижнього. Першою літерою слова вважається літера,
перед якою не міститься інші літери.
str.capitalize(). Повертає
копію рядка, в якому перший символ, якщо він є літерою, буде приведений до
верхнього регістру, а всі інші літери до нижнього.
str.replace(old, new[, count]). Повертає копію рядка, в якому всі входження підрядка old
будуть замінені на новий підрядок new. Якщо задано парметри count, то буде виконано не більше ніж count замін.
str.lstrip([chars]). Повертає
копію рядка з вилученими початковими
символами, вказаними в рядку chars.
Якщо параметр chars відсутній
або None, то вилучаються
пропуски.
str.rstrip([chars]). Повертає копію рядка з вилученими кінцевими символами, вказаними в рядку chars. Якщо параметр chars відсутній або None, то вилучаються пропуски.
str.strip([chars]). Повертає копію рядка з вилученими початковими та кінцевими символами, вказаними
в рядку chars.
Якщо параметр chars відсутній або
None, то вилучаються
пропуски.
str.expandtabs(tabsize=8). Повертає копію рядка, в якому всі символи табуляції (\t) замінюються декількома пропусками залежно від стовпця табулювання і заданого розміру табуляції tabsize.
str.split(sep=None,
maxsplit=-1). Повертає список слів, які отримуються розбиттям рядка за роздільником
рядком sep. Якщо параметр sep=None, то роздільником буде виступати
пропуск, і сумарний список не міститиме порожніх елементів. Якщо задано параметр maxsplit,
то буде виконано не більше
ніж maxsplit розбиттів (сумарний список матиме не більше ніж maxsplit+1 елемент).
str.join(iterable). Повертає рядок,
який є результатом конкатенації всіх
рядків з iterable. Під
час конкатенації між рядковими елементами iterable буде розміщений рядок str. Якщо iterable містить принаймні одне нерядкове значення, то генерується виняток TypeError.
str.partition(sep). Повертає кортеж з трьома рядковими значеннями, які є частинами рядка str. Першим елементом є частина рядка str, що міститься до першого входження роздільника sep. Другим елементом є
сам роздільник sep. Третім
елементом є частина рядка str, що міститься після роздільника sep. Якщо роздільника sep в рядку str не знайдено, то першим елементом кортежу буде сам рядок str, а другий та третій елементи будуть порожніми рядками.
str.rpartition(sep). Повертає кортеж з трьома рядковими значеннями, які є частинами рядку str. Першим елементом є частина рядка str,
що міститься до останнього входження роздільника sep. Другим елементом є
сам роздільник sep. Третім
елементом є частина рядка
str, що міститься після роздільника sep. Якщо роздільника sep в рядку str не знайдено,
то першим елементом кортежу буде сам рядок str, а другий
та третій елементи будуть порожніми рядками.
str.ljust(width, fillchar=«
«). Повертає копію рядка str, доповненого справа символами fillchar до довжини width. Якщо довжина рядка більша або дорівнює width, повертає оригінальний
рядок.
str.rjust(width, fillchar=« «). Повертає копію рядка str, доповненого зліва символами fillchar до довжини width. Якщо довжина рядка більша або дорівнює width, повертає оригінальний рядок.
str.center(width[, fillchar]). Повертає копію рядка str, доповненого зліва та справа символами fillchar до довжини width, таким чином, щоб рядок був вирівняний за центром сумарного рядка. Якщо довжина
рядка більша або дорівнює width, повертає оригінальний рядок.
str.zfill(width). Повертає копію рядка str, доповненого символами «0» до довжини width. Якщо рядок починається зі
знаку («+» або «-»),
то доповнювальні символи вставляються після знаку. Якщо довжина рядка більша або рівна
width, повертає оригінальний
рядок.
str.format(*args,
**kwargs). Повертає копію рядка str, відформатованого відповідним чином.
Іноді потрібно створити повідомлення, яке поєднує текстову інформацію зі значеннями змінних. У таких випадках виникає потреба в форматуванні рядка за певним шаблоном.
Це можна зробити за допомогою оператора % або методу format().Розгляньмо використання саме методу format().
Цей метод дає
змогу створювати рядки, що містять явний текст та місця для заміни, де пізніше метод format() підставить конкретні значення з аргументів. Поля для заміни мають вигляд фігурних дужок «{}», всередині яких можна вказати параметри
для заміни. Якщо потрібно ввести сам символ фігурної дужки у текст, його слід
подвоїти: «{{» або «}}».
Найпростішим варіантом є підстановка лише
одного значення.
Тобто в рядку ‘Hello, {}!’ міститься явний текст «Hello, « та єдине поле заміни, замість якого за методом format() буде підставлений аргумент ‘World’. За необхідності сформувати рядок, в який підставлятимуться декілька значень, необхідно в рядку розмістити відповідну кількість полів заміни, а в методі format() вказати необхідну кількість аргументів. Вказані
аргументи будуть підставлені в поля заміни в порядку їх слідування. Відповідно кількість
полів заміни та кількість аргументів має бути однаковою.
Значення аргументів можуть бути отримані зі списку чи кортежу
(використовуючи оператор *).
Для
можливості зміни порядку або вибору конкретного аргументу для підстановки у
відповідне поле заміни, можна вказати порядковий номер аргументу в самому
полі заміни. Ця нумерація аргументів розпочинається з 0.
Якщо використання
нумерації аргументів недостатньо, то можна іменувати аргументи, або отримувати
іменовані аргументи зі словника (використовуючи оператор **).
Під час форматування рядка за допомогою
методу format(), аргументи
перед підстановкою в поля заміни
традиційно перетворюються
за допомогою функції str().
Під час форматування
рядка ширина поля визначається значенням аргументу, а саме кількістю
символів, що необхідні для відображення аргументу після його перетворення.
Якщо потрібно створити внутрішні відступи у полі заміни, можна вказати ширину
поля. Ця ширина вимірюється в символах, тобто цілим числом, та може візуально
організувати більші обсяги даних. Для вказання
ширини поля у специфікації поля заміни потрібно додати ціле число у фігурних
дужках після двокрапки «:».
Як усталено відступи
організовуються додаванням пропусків (символ «
»). За необхідності можна вказати символ, який
використовуватиметься, замість пропусків для заповнення відступів. Для цього
на початку специфікації (після двокрапки) вказується необхідний символ (окрім
символів фігурних дужок «{» та «}»).
Зрозуміло, що
використання символу заповнення, так само як і вирівнювання, застосовується
лише за встановлення ширини поля. Проте також не допускається використання
символу заповнення без явного вказання
вирівнювання. Якщо ніякого
явного вирівнювання для числових типів не задано, перед полем ширини
передбачено нульову підкладку (символ «0»).
Це еквівалентно знаку заповнення ‘0’
з типом вирівнювання ‘=‘ .
Як усталено в
процесі виведення чисел всі цифри числа записуються без розривів (групи розрядів не відокремлені). За необхідності
можна вказати символ, який використовуватиметься для відокремлення груп
розрядів (тисяч). Таким символом може бути кома «,»
або нижнє підкреслення «_».
Поле заміни
також може містити вказівку на тип даних, що виводитимуться. Для цього необхідно вказати односимвольний код типу
даних. Виокремлюють рядкові, цілі та дійсні типи.
Точність у числах
показує, скільки цифр має відображатися після десяткової коми у форматі з
фіксованою точністю (за допомогою «f»
або «F») або скільки цифр має
відображатися до і після десяткової коми у загальному форматі (враховуючи
знак числа та десяткову кому). Для рядкових
даних точність показує максимальний розмір поля, тобто скільки символів буде
використано для представлення вмісту цього поля.
Опція «#» вказує на використання «альтернативної форми»
під час перетворення чисел. Ця опція застосовується
лише до цілих (int), дійсних (float), комплексних (complex) та десяткових чисел. Альтернативна форма визначається різним
чином для різних типів. У разі цілих чисел, якщо використовується двійкове, вісімкове чи шістнадцяткове виведення, опція «#» додає відповідний префікс «0b», «0o» або
«0x» до початкового значення числа.
Щодо інших чисел, альтернативна форма забезпечує наявність десяткової коми як
результат перетворення навіть у разі, коли за нею немає жодної цифри.
s=input(‘Введіть рядок:‘) if s==s[::-1]: print(‘Паліндром’) else: print(‘Не паліндром’)
s=input(‘Введіть рядок:‘) n=s.count(‘ ‘)+1 print(n) Якщо ж пропусків між словами може бути скільки
завгодно, то розв’язок задачі може бути такий: s=input(‘Введіть рядок:‘) a=list(s.split(‘ ‘)) b=[] for i in a: if i!=‘‘ : b=b+[i] print(len(b)) Останній цикл можна переписати у формі генератора списку: b =[i for i in a
if i!=‘‘]
s=input(‘Введіть рядок:‘) print(s[:len(s)//2]) print(s[len(s)//2:])
s=input(‘Введіть рядок:‘) a=list(s.split(‘ ‘)) for i in a: if i!=‘‘: print(i.strip(‘,.!?’)) Останній цикл можна переписати у формі генератора
списку: [print(i.strip(‘,.!?’)) for i in a if i!=‘‘]
s=input(‘Введіть рядок:‘) a=list(s.split(‘ ‘)) a=[i.strip(‘,.!?’) for i in a if i!=‘‘] [print(i) for i in a
if len(i)%2==0]
s=input(‘Введіть рядок:‘) a=list(s.split(‘ ‘)) a=[i.strip(‘,.!?’) for i in a if i!=‘‘] for i in a: flag=True for j in i: if i.count(j)!=1:
flag=False if flag: print(i)
txt=ʺми вивчаємо
мову PYTHONʺ print(txt.upper()) print(txt.lower()) print(txt.capitalize()) print(txt.title()) print(txt.swapcase()) print(txt) Результат виконання
програми ми вивчаємо мову python ми вивчаємо мову python Ми вивчаємо мову python Ми Вивчаємо Мову Python ми вивчаємо мову python ми вивчаємо мову PYTHON
txt=ʺʺʺВ.С. Стус. ʺСто
років...ʺ (уривок): Сто років як сконала Січ. Сибір. І соловецькі келії. І глупа облягає ніч Пекельний край і крик пекельний. Сто років мучених надій, І сподівань, і вір, і крові Синів, що за любов тавровані, Сто серць, як
сто палахкотінь.ʺʺʺ word=ʺСтоʺ print(txt,end=‘\n\n’) print(ʺПідрядок зустрічаєтьсяʺ,txt.count(word),ʺразиʺ) print(ʺПерша позиція:ʺ,txt.index(word)) print(ʺНаступна позиція:ʺ,txt.find(word,13)) print(ʺОстання позиція:ʺ,txt.rindex(word)) print(ʺНа початку ініціали:ʺ,txt.startswith(ʺВ.С.ʺ)) print(ʺУ кінці крапка:ʺ,txt.endswith(ʺ.ʺ),end=‘\n\n’) print(txt.replace(ʺ ʺ,ʺ_ʺ))
В.С. Стус. ʺСто років...ʺ
(уривок): Сто років як сконала Січ. Сибір. І соловецькі келії. І глупа облягає ніч Пекельний край і крик пекельний. Сто років мучених надій, І сподівань, і вір, і крові Синів, що за любов тавровані, Сто серць, як
сто палахкотінь. Підрядок зустрічається
4 рази Перша позиція: 12 Наступна позиція: 36 Остання позиція: 225 На початку ініціали:
True У кінці крапка: True В.С._Стус._ʺСто_років...ʺ_(уривок): Сто_років_як_сконала_Січ. Сибір._І_соловецькі_келії. І_глупа_облягає_ніч Пекельний_край_і_крик_пекельний. Сто_років_мучених_надій, І_сподівань,_і_вір,_і_крові Синів,_що_за_любов_тавровані, Сто_серць,_як_сто_палахкоті
txt=ʺ_*_ABC_*_abc_*_ʺ print(txt.lstrip(ʺ_*_ʺ)) print(txt.rstrip(ʺ_*_ʺ)) print(txt.strip(ʺ_*_ʺ)) print(txt.split(ʺ*ʺ)) print(txt.rsplit(ʺ*ʺ)) print(txt.partition(ʺ*ʺ)) print(txt.rpartition(ʺ*ʺ)) print(ʺabc \n ABC \n ***ʺ.splitlines()) print(ʺ_*_ʺ.join([ʺAAAʺ,ʺBBBʺ,ʺCCCʺ])) Результат виконання програми
ABC_*_abc_*_ _*_ABC_*_abc ABC_*_abc [‘_’, ‘_ABC_’, ‘_abc_’, ‘_’] [‘_’, ‘_ABC_’, ‘_abc_’, ‘_’] (‘_’, ‘*’,
‘_ABC_*_abc_*_’) (‘_*_ABC_*_abc_’, ‘*’, ‘_’) [‘abc ‘, ‘ ABC ‘, ‘ ***’] AAA_*_BBB_*_CCC
txt=ʺ{0} по {0} - буде {1}ʺ print(txt.format(ʺдваʺ,ʺчотириʺ)) print(txt.format(ʺтриʺ,ʺдев’ятьʺ)) print(ʺТекст ‘{0}’: {0:<20}.ʺ.format(ʺabcdefʺ)) print(ʺТекст ‘{0}’: {0:^20}.ʺ.format(ʺabcdefʺ)) print(ʺТекст ‘{0}’: {0:>20}.ʺ.format(ʺabcdefʺ)) Результат виконання програми два по два – буде чотири три по три – буде дев’ять Текст ‘abcdef’:
abcdef. Текст’abcdef’: abcdef. Завдання для самоперевірки
Ø Текстовий
рядок ‒ упорядкований набір символів. Текстові літерали беруть
в одинарні або подвійні лапки. Ø Для додавання
апострофа, подвійних лапок, оберненої скісної риски перед цими символами
вказують обернену скісну риску \.
Обернену скісну риску використовують і в деяких спеціальних символах, як-от
табуляція \t або інструкція переходу до нового рядка \n. Ø До елементів
(символів) рядка можна звертатися за індексом (індексація літер у рядку починається
з нуля): після текстової змінної у квадратних дужках зазначають індекс літери
в рядку. Також допускається виконання зрізів для текстового рядка. Ø Змінити
текстове значення не можна (але можна текстовій змінній присвоїти нове
значення). Ø Для конкатенації
(об’єднання) текстових рядків використовують оператор +. Явне зведення до текстового
типу виконують за допомогою
функції str(). Ø Кількість
літер у текстовому рядку можна визначити
за допомогою функції len(). Ø Існує значна
кількість методів, які дають змогу виконувати найрізноманітніші операції з
текстовими значеннями, зокрема такі: перетворення реєстру символів, пошук символів і підрядків, заміна текстових фрагментів, розбивка рядків на підрядки, перевірка вмісту текстового рядка, форматування
текстового рядка для виведення в консоль і багато іншого.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||