为什么替换不替换

  • 本文关键字:替换 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
python中的字符串是不可变的
将更改字符串的函数将返回一个新字符串。

您可以在许多文章中阅读此选择背后的原因,如
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)