Незмінність Рядків
У Python рядки є незмінними: після створення символи, які вони містять, не можна змінити на місці. Будь-яка "модифікація" фактично створює новий рядок. Це важливо для коректності (неможливість випадкових змін на місці) та для продуктивності (як ви формуєте більші рядки).
Неможливість змін на місці
Ви можете читати символи за індексом, але не можете присвоювати їм значення.
123456s = "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
Ланцюжок методів допустимий, але пам’ятайте, що на кожному кроці створюється новий об’єкт.
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
"Зміна" шляхом створення нового рядка
Використовуйте зрізи, replace або конкатенацію для отримання нового значення.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
Ефективне створення
Багаторазове використання + у великих циклах може бути повільним (створюється багато проміжних рядків). Поширений підхід — збирати частини та об'єднувати їх один раз:
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)
Більше про шаблони об'єднання та форматування ви дізнаєтесь у наступному розділі.
1. Який рядок намагається змінити рядок на місці і викличе помилку?
2. Що виведе цей код?
3. Потрібно зібрати довгий рядок з багатьох маленьких частин. Що рекомендується?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain why string immutability is important in Python?
What are some common mistakes beginners make with string immutability?
Can you show more examples of efficient string building?
Awesome!
Completion rate improved to 3.45
Незмінність Рядків
Свайпніть щоб показати меню
У Python рядки є незмінними: після створення символи, які вони містять, не можна змінити на місці. Будь-яка "модифікація" фактично створює новий рядок. Це важливо для коректності (неможливість випадкових змін на місці) та для продуктивності (як ви формуєте більші рядки).
Неможливість змін на місці
Ви можете читати символи за індексом, але не можете присвоювати їм значення.
123456s = "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
Ланцюжок методів допустимий, але пам’ятайте, що на кожному кроці створюється новий об’єкт.
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
"Зміна" шляхом створення нового рядка
Використовуйте зрізи, replace або конкатенацію для отримання нового значення.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
Ефективне створення
Багаторазове використання + у великих циклах може бути повільним (створюється багато проміжних рядків). Поширений підхід — збирати частини та об'єднувати їх один раз:
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)
Більше про шаблони об'єднання та форматування ви дізнаєтесь у наступному розділі.
1. Який рядок намагається змінити рядок на місці і викличе помилку?
2. Що виведе цей код?
3. Потрібно зібрати довгий рядок з багатьох маленьких частин. Що рекомендується?
Дякуємо за ваш відгук!