Это потому, что строки неизменны в Python .
. Это означает, что X.replace("hello","goodbye")
возвращает копию X
с заменами, сделанными .Из-за этого вам нужно заменить эту строку:
X.replace("hello", "goodbye")
на эту строку:
X = X.replace("hello", "goodbye")
В более широком смысле, это верно для всех строковых методов Python, которые изменяют содержимое строки«на месте» , например replace
, strip
, translate
, lower
/ upper
, join
, ...
Вы должны назначить ихвывод на что-то, если вы хотите использовать его и не выбрасывать его, например,
X = X.strip(' \t')
X2 = X.translate(...)
Y = X.lower()
Z = X.upper()
A = X.join(':')
B = X.capitalize()
C = X.casefold()
и т. д.