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

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

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

hello world 

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

 goodbye world 

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

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

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

 hello world 

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

One Solution collect form web for “Почему не вызывать строковый метод Python ничего не делает, если вы не назначаете его вывод?”

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

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

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

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

 X = X.replace("hello", "goodbye") 
Python - лучший язык программирования в мире.