Python 使用空字符的字符串的内部处理

Python 使用空字符的字符串的内部处理,python,Python,我刚刚尝试用空(“”)字符替换python字符串中的字符。一些奇怪的事情正在发生。有人能解释一下为什么会发生这种事吗 >>> a = "SampleText" >>> a 'SampleText' >>> a.replace('a','\0') 'S\x00mpleText' >>> len(a) 10 >>> a.replace('\0','a') 'SampleText' >>> le

我刚刚尝试用空(“”)字符替换python字符串中的字符。一些奇怪的事情正在发生。有人能解释一下为什么会发生这种事吗

>>> a = "SampleText"
>>> a
'SampleText'
>>> a.replace('a','\0')
'S\x00mpleText'
>>> len(a)
10
>>> a.replace('\0','a')
'SampleText'
>>> len(a)
10
>>> a.replace('a','')
'SmpleText'
>>> len(a)
10
>>> a.replace('','a')
'aSaaamapalaeaTaeaxata'
>>> len(a)
10

replace
函数返回新字符串,因此需要再次将其分配给变量。如果您编写
a=a.replace('a','\0')
它将按照您的预期工作。

请在问题中发布您的代码,而不是图像链接。您没有将新值指定给任何变量,它将
SampleText
保存在var
a