Bunun nedeni , Python'da dizelerin değişmez olmasıdır .
Başka bir deyişle, yapılan değiştirmelerin bir kopyasınıX.replace("hello","goodbye")
döndürür . Bu nedenle bu satırı değiştirmeniz gerekir:X
X.replace("hello", "goodbye")
bu çizgi ile:
X = X.replace("hello", "goodbye")
Daha geniş anlamda, bu "yerinde" Bir dizgenin içeriğini değiştirmek tüm Python dize yöntemleri için de geçerlidir , örneğin replace
, strip
, translate
, lower
/ upper
, join
...
Kullanmak ve atmak istemiyorsanız çıkışlarını bir şeye atamanız gerekir , örn.
X = X.strip(' \t')
X2 = X.translate(...)
Y = X.lower()
Z = X.upper()
A = X.join(':')
B = X.capitalize()
C = X.casefold()
ve bunun gibi.
x += 'a'
özel durum için değiştirilebilir, örneğin stackoverflow.com/a/40996908/6260170