Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Незмінність Рядків | Рядки
Типи Даних у Python

Незмінність Рядків

Свайпніть щоб показати меню

У Python рядки є незмінними: після створення символи, які вони містять, не можна змінити безпосередньо. Будь-яка "модифікація" фактично створює новий рядок. Це важливо для коректності (немає випадкових змін у місці) та для продуктивності (як ви формуєте більші рядки).

Неможливість змін у місці

Ви можете читати символи за індексом, але не можете присвоювати їм значення.

123456
s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment

Більшість методів для рядків повертають новий рядок і залишають оригінал незмінним.

12345678
# Cleaning up user input from a registration form user_name = " Alice " user_name.strip() # returns "Alice", but the variable still has spaces print(user_name) # " Alice " user_name = user_name.strip() # assign the cleaned value back print(user_name) # "Alice" → cleaned and ready to store
Note
Примітка

.strip(): видаляє пробіли на початку та в кінці рядка.

Синтаксис: string.strip()

Ланцюжок викликів допустимий, але пам'ятайте, що на кожному кроці створюється новий об'єкт.

123456
# Normalizing a user's chat message before saving it user_message = " hello\n" clean_message = user_message.strip().upper() print(user_message) # original remains " hello\n" print(clean_message) # "HELLO" → cleaned and ready for processing
Note
Примітка

.upper(): Повертає копію рядка, у якій всі символи переведені у верхній регістр.

Синтаксис: string.upper()

"Модифікація" шляхом створення нового рядка

Використання зрізів, replace або конкатенації для отримання нового значення.

1234567
s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dATa" print(s)
Note
Примітка

.replace(): повертає копію рядка, у якій всі входження підрядка замінені на інший підрядок.

Синтаксис: string.replace(old, new)

Ефективне створення

Багаторазове використання + у великих циклах може бути повільним (створюється багато проміжних рядків). Поширений підхід — збирати частини та об'єднувати їх один раз:

1234
# Combining message parts received from a device response_parts = ["Status:", " ", "200", "\n", "Success"] response_message = "".join(response_parts) # "Status: 200\nSuccess" print(response_message)
Note
Примітка

.join(): Об'єднує елементи ітерованого об'єкта (наприклад, списку) в один рядок, розділений рядком, на якому викликається метод.

Синтаксис: separator.join([str, str, ...])

Note
Примітка

Більше про шаблони об'єднання та форматування буде розглянуто у наступному розділі.

1. Який рядок намагається змінити рядок на місці і викличе помилку?

2. Який буде вивід цього коду?

3. Потрібно зібрати довгий рядок із багатьох маленьких частин. Що рекомендується?

question mark

Який рядок намагається змінити рядок на місці і викличе помилку?

Виберіть правильну відповідь

question mark

Який буде вивід цього коду?

Виберіть правильну відповідь

question mark

Потрібно зібрати довгий рядок із багатьох маленьких частин. Що рекомендується?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 4
some-alt