这为什么不选A要选B

img


下面代码输出的结果是()。
s1 = "The python language is a scripting
language."
s1.replace('scripting','general')
print(s1)
A. The python language is a general language.
B. The python language is a scripting language.
C.('The', 'python', 'is', 'a',' scripting','language.')
D. ('The', 'python', 'is','a', 'general ','language.')

s1.replace('scripting','general')
这一句是关键
它的作用是,把s1中的所有'scripting'都替换成'general',而由于字符串是不可变类型,所以replace会返回一个新的字符串
但是本题并未将新字符串赋值给s1,所以s1不会变
如果这一句写成 s1 = s1.replace('scripting','general')
那么就选A


记住一点就行,字符串是不可变类型,replace不会修改原字符串
(对比可变类型列表,如 l.sort(),此时对 列表l 进行排序,l本身会变化,因为l是可变类型)