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

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

У 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
copy

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

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
copy

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

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
copy

"Зміна" шляхом створення нового рядка

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

1234567
s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
copy

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

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

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)
copy
Note
Примітка

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

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

2. Що виведе цей код?

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

question mark

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

Select the correct answer

question mark

Що виведе цей код?

Select the correct answer

question mark

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

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain why string immutability is important in Python?

What are some common mistakes people make when working with immutable strings?

Can you show more examples of efficient string building?

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

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

У 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
copy

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

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
copy

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

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
copy

"Зміна" шляхом створення нового рядка

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

1234567
s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
copy

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

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

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)
copy
Note
Примітка

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

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

2. Що виведе цей код?

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

question mark

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

Select the correct answer

question mark

Що виведе цей код?

Select the correct answer

question mark

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

Select the correct answer

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

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

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

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