Почему не вызывать строковый метод Python ничего не делает, если вы не назначаете его вывод?

Мне нужна помощь по простой замене строк, но я не знаю, что я делаю неправильно.

У меня есть эта строка:

hello world

Я хочу изменить hello на goodbye, давая мне:

goodbye world

Я использую этот код:

X = "hello world"
X.replace("hello", "goodbye")

Однако результат все еще выглядит следующим образом:

hello world

Почему мой код не работает?

Ответ 1

Это связано с тем, что строки неизменяемы в Python.

Это означает, что X.replace("hello","goodbye") возвращает копию X с заменой, сделанной. Из-за этого вам нужно заменить эту строку:

X.replace("hello", "goodbye")

с этой строкой:

X = X.replace("hello", "goodbye")