Python 为什么替换不替换?

Python 为什么替换不替换?,python,Python,代码: 输出:G 我认为输出应该是小写的“g”,因为replace语句将大写的“g”替换为小写的 我正在尝试解决一个难题,即必须将字符串大写,但不能将以数字开头的字符串大写?您必须将b的值赋值。在打印变量b之前,将其替换为(b,a) a = 'g' b = a.title() b.replace(b, a) print(b) 输出: a = 'g' b = a.title() b = b.replace(b, a) print(b) 您必须将b的值赋值。在打印变量b之前,将其替换为(b,a)

代码:

输出:
G

我认为输出应该是小写的“g”,因为replace语句将大写的“g”替换为小写的


我正在尝试解决一个难题,即必须将字符串大写,但不能将以数字开头的字符串大写?

您必须将
b的值赋值。在打印变量
b
之前,将其替换为(b,a)

a = 'g'
b = a.title()
b.replace(b, a)
print(b)
输出:

a = 'g'
b = a.title()
b = b.replace(b, a)
print(b)

您必须将
b的值赋值。在打印变量
b
之前,将其替换为(b,a)

a = 'g'
b = a.title()
b.replace(b, a)
print(b)
输出:

a = 'g'
b = a.title()
b = b.replace(b, a)
print(b)

python中的字符串是不可变的。
将更改字符串的函数将返回一个新字符串

您可以在许多文章中阅读此选择背后的原因,如

python中的字符串是不可变的。
将更改字符串的函数将返回一个新字符串

您可以在许多文章中阅读此选择背后的原因,如

需要重新分配replace的输出-因为replace为您提供了一个包含被替换更改的副本-所以它不在适当的位置

g

replace的输出不需要重新分配-因为replace会给您一个包含被替换更改的副本-所以它不在适当的位置

g
replace未“就位”,它返回被替换的字符串。因此,执行类似于
c=b的操作。replace(b,a)
replace没有“就位”,它返回被替换的字符串。因此,请执行类似于
c=b的操作。替换(b,a)