Метод 𝚛𝚎𝚙𝚕𝚊𝚌𝚎() возвращает новую строку и не изменяет исходную. Результат вызова метода не сохраняется в переменную, поэтому переменная 𝚜𝚎𝚝𝚞𝚙 остается неизменной.
Пошагово:
🔘 Переменной 𝚜𝚎𝚝𝚞𝚙 присваивается строка «Утка входит в бар...»
🔘 Вызывается метод 𝚜𝚎𝚝𝚞𝚙.𝚛𝚎𝚙𝚕𝚊𝚌𝚎('Утка', 'Сурок'), который создает и возвращает новую строку «Сурок входит в бар...»
🔘 Результат метода не присваивается обратно в переменную 𝚜𝚎𝚝𝚞𝚙
🔘 При выводе 𝚙𝚛𝚒𝚗𝚝(𝚜𝚎𝚝𝚞𝚙) выводится исходная строка, которая не изменилась
Из документации Python:
𝚜𝚝𝚛.𝚛𝚎𝚙𝚕𝚊𝚌𝚎(𝚘𝚕𝚍, 𝚗𝚎𝚠[, 𝚌𝚘𝚞𝚗𝚝])
«Возвращает копию строки со всеми вхождениями подстроки 𝚘𝚕𝚍, замененными на 𝚗𝚎𝚠. Если указан необязательный аргумент 𝚌𝚘𝚞𝚗𝚝, заменяются только первые 𝚌𝚘𝚞𝚗𝚝 вхождений».
Метод возвращает новую строку, а не изменяет существующую, поскольку строки в Python являются неизменяемыми (𝚒𝚖𝚖𝚞𝚝𝚊𝚋𝚕𝚎) объектами. Для сохранения результата замены необходимо присвоить возвращаемое значение переменной:
𝚜𝚎𝚝𝚞𝚙 = 𝚜𝚎𝚝𝚞𝚙.𝚛𝚎𝚙𝚕𝚊𝚌𝚎('Утка', 'Сурок')
𝚙𝚛𝚒𝚗𝚝(𝚜𝚎𝚝𝚞𝚙) # Сурок входит в бар...
Post #4440
755
- 👍 2
- 🕊 1