JavaRush /Курси /Модуль 1: Python Core /Розширена робота зі строками

Розширена робота зі строками

Модуль 1: Python Core
Рівень 6 , Лекція 8
Відкрита

9.1 Оголошення строк

В Python строки — це послідовності символів, які використовуються для зберігання і представлення текстової інформації. Строки можна створювати кількома способами, що забезпечує гнучкість при їх оголошенні і маніпулюванні (Змінювати строки не можна, як ви вже знаєте).

Основні способи оголошення строк

  1. Одинарні лапки: string = 'Привіт, друже!'
  2. Подвійні лапки: string = "Привіт, друже!"

Обидва способи еквівалентні, вибір залежить від уподобань програміста і від того, які лапки зустрічаються в самій строці (щоб уникнути їх екранування).

Багаторядкові строки

Для оголошення багаторядкових строк використовуються потрійні лапки. Це можуть бути потрійні одинарні (''') або потрійні подвійні лапки ("""). Такий спосіб зручний для тексту, що займає кілька рядків:


multiline_string = """Перший рядок
другий рядок
третій рядок"""
        

Екранування символів

В Python символи в строках можуть бути екрановані за допомогою зворотного слеша (\). Це дозволяє вставляти спеціальні символи, такі як новий рядок (\n), табуляція (\t), або сам зворотний слеш (\\).


escaped_string = "Він сказав: \"Привіт, друже!\""
        

Більш докладно ми розглянемо екранування на пару лекцій нижче.

Сирі строки

Сирі строки (raw string) — це строки, в яких екранування символів відключено. Вони оголошуються з префіксом r:


raw_string = r"В цій строке \n не вважається переводом строки."
        

Форматування строк

Python пропонує кілька методів для форматування строк. Найбільш потужний з них — f-строки, доступні починаючи з Python 3.6. Вони дозволяють вбудовувати вирази Python прямо в строку:


name = "Світ"
formatted_string = f"Привіт, {name}!"
        

Конкатенація строк

Строки можна створювати об'єднавши кілька строк, використовуючи оператор «+» або метод join() для більш складних випадків:


greeting = "Привіт, " + "друже!"
        

Незмінність (іммутабельність) строк

Пам'ятайте, що строки в Python є незмінними. Це означає, що будь-які операції, модифікуючі строку, фактично створюють нову строку.

9.2 Вкладені лапки

В Python, робота зі строками, що містять вкладені лапки, вимагає особливої уваги до деталей синтаксису, щоб забезпечити коректність коду і уникнути синтаксичних помилок.

Не можна просто так написати лапку всередині тексту, який обрамлено лапками. Наприклад, ви пишете код:


escaped_string = "Він сказав: "Привіт, світ!"… "
        

А от що бачить Python:


escaped_string = "Він сказав: "Привіт, світ! "… "
        

Він шукає не саму останню лапку в строці, а найближчу. Тому, щоб додати лапку всередину тексту, потрібно трохи потрудитися. Ось огляд основних прийомів та методів для управління вкладеними лапками в строках Python:

Використання різних типів лапок

Python дозволяє використовувати як одинарні ('), так і подвійні (") лапки для визначення строк. Це дає можливість вкладати один тип лапок всередину іншого:


quote = "He said, 'Hello, world!'"
# або
quote = 'He said, "Hello, world!"'
        

Екранування лапок

Коли потрібно використовувати однакові лапки всередині строки, можна скористатися зворотною косою рисою (\) для екранування лапок:


quote = "He said,\"Hello, world!\" "
        

Багаторядкові строки

Для створення багаторядкових строк, що містять вкладені лапки, зручно використовувати потрійні лапки (''' або """):


multiline_quote = """This is a long quote that contains multiple types of quotation marks: "double quotes" and 'single quotes'. It spans multiple lines."""
        
Коментарі (3)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Дмитро Рівень 14
10 січня 2026
Це прям дуже легко порівняно з попередніми темами 🙂
Pavlo Kushnir Рівень 2
2 червня 2025
Яким чином перевірка не пропускає код через орфографічну помилку в текстовому рядку в лапках? В рядку може бути будь-який набір символів. Отже, що відбувається?
negoda Рівень 31
19 липня 2025
Не понимаю о чем вы, скорее всего ошибка в чем-то другом, без кода не разобратся( У меня все работает :

my_string_once = 'Hello JavaRush'
my_string_twice = "Hello JavaRush"
my_string_threet = """Hello
JavaRush"""

print(my_string_once, my_string_twice, my_string_threet)

my_str_1 = 'Hello "JavaRush"'
my_str_2 = "Hello \"JavaRush\""

print(my_str_1, my_str_2)