TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4440 755
Метод 𝚛𝚎𝚙𝚕𝚊𝚌𝚎() возвращает новую строку и не изменяет исходную. Результат вызова метода не сохраняется в переменную, поэтому переменная 𝚜𝚎𝚝𝚞𝚙 остается неизменной.

Пошагово:
🔘 Переменной 𝚜𝚎𝚝𝚞𝚙 присваивается строка «Утка входит в бар...»
🔘 Вызывается метод 𝚜𝚎𝚝𝚞𝚙.𝚛𝚎𝚙𝚕𝚊𝚌𝚎('Утка', 'Сурок'), который создает и возвращает новую строку «Сурок входит в бар...»
🔘 Результат метода не присваивается обратно в переменную 𝚜𝚎𝚝𝚞𝚙
🔘 При выводе 𝚙𝚛𝚒𝚗𝚝(𝚜𝚎𝚝𝚞𝚙) выводится исходная строка, которая не изменилась

Из документации Python:

𝚜𝚝𝚛.𝚛𝚎𝚙𝚕𝚊𝚌𝚎(𝚘𝚕𝚍, 𝚗𝚎𝚠[, 𝚌𝚘𝚞𝚗𝚝])
«Возвращает копию строки со всеми вхождениями подстроки 𝚘𝚕𝚍, замененными на 𝚗𝚎𝚠. Если указан необязательный аргумент 𝚌𝚘𝚞𝚗𝚝, заменяются только первые 𝚌𝚘𝚞𝚗𝚝 вхождений».

Метод возвращает новую строку, а не изменяет существующую, поскольку строки в Python являются неизменяемыми (𝚒𝚖𝚖𝚞𝚝𝚊𝚋𝚕𝚎) объектами. Для сохранения результата замены необходимо присвоить возвращаемое значение переменной:

𝚜𝚎𝚝𝚞𝚙 = 𝚜𝚎𝚝𝚞𝚙.𝚛𝚎𝚙𝚕𝚊𝚌𝚎('Утка', 'Сурок')
𝚙𝚛𝚒𝚗𝚝(𝚜𝚎𝚝𝚞𝚙) # Сурок входит в бар...
  • 👍 2
  • 🕊 1
More from @quiz_python
  1. Sep 23, 2026Развёрнутое пояснение: 1. При входе в блок with вызывается метод __enter__, который печата…
  2. Sep 23, 2026Post #4888
  3. Sep 23, 2026Развёрнутое пояснение: 1. В defaults создаётся словарь, где ключ retry ссылается на вложен…
  4. Sep 23, 2026Post #4886
  5. Sep 22, 2026Развёрнутое пояснение: 1. Вызов build_batch создаёт генератор, но его тело пока не исполня…
  6. Sep 22, 2026Post #4884
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →