python中的字符串是不可变的
将更改字符串的函数将返回一个新字符串。
代码:
a = 'g'
b = a.title()
b.replace(b, a)
print(b)
输出:G
我认为输出应该是小写的"g",因为replace语句将大写的"g"替换为小写。
我试图解决一个挑战,在这个挑战中,我必须将字符串大写,但不能将以数字开头的字符串大写?
打印之前,必须将b.replace(b, a)
的值分配给变量b
。
a = 'g'
b = a.title()
b = b.replace(b, a)
print(b)
输出:
g
将更改字符串的函数将返回一个新字符串。
您可以在许多文章中阅读此选择背后的原因,如
https://www.educative.io/edpresso/why-are-strings-in-python-immutable
replace的输出不需要重新分配,因为replace为您提供了一个包含已替换更改的副本,所以它没有就位!
a = 'g'
b = a.title()
b = b.replace(b, a)
print(b)