2024-06-09 23:25:38 发布
网友
我将字符串“y”声明为hello,然后尝试使用python中的replace方法将字符“h”改为“m”,并检查了类型(y):它的显示字符串 但当我搜索时,它显示的字符串是不变的。。。请解释一下
>>> y="hello" >>> y=y.replace("h","m") >>> y 'mello' >>> type(y) <class 'str'>
Python中的字符串是不可变的(不能更改为允许对所有字符串使用一个字典进行优化)。你知道吗
例如:
>>> y="hello" >>> y.replace("h","m") 'mello' >>> y 'hello'
当我们想要改变一个字符串时,我们可以使用bytearray或者(通常更好)创建一个新的字符串。例如,考虑方法“replace”。它没有改变示例中的字符串-但是我们可以指定它的返回值。你知道吗
>>> y1 = y.replace("h","m") >>> y1 'mello'
或者甚至使用相同的变量y,在这种情况下,它将创建一个新字符串并覆盖y的先前值
>>> y = y.replace('h','m') >>> y 'mello'
就像把一个新的价值放在一起:
>>> y = 'a new value' >>> y a new value
您没有改变字符串,而是更改了字符串y指向的内容。你知道吗
y
y最初指向"hello",然后运行行y=y.replace("h","m"),使y指向字符串"mello"。原始字符串"hello"从未发生过突变,因为字符串确实是不可变的。你知道吗
"hello"
y=y.replace("h","m")
"mello"
是的,字符串是不可变的。当你排队的时候 y=y.替换(“h”,“m”) 您正在创建一个新字符串,而不是更改第一个字符串。第一个字符串实际上无法更改。你知道吗
Python中的字符串是不可变的(不能更改为允许对所有字符串使用一个字典进行优化)。你知道吗
例如:
当我们想要改变一个字符串时,我们可以使用bytearray或者(通常更好)创建一个新的字符串。例如,考虑方法“replace”。它没有改变示例中的字符串-但是我们可以指定它的返回值。你知道吗
或者甚至使用相同的变量y,在这种情况下,它将创建一个新字符串并覆盖y的先前值
就像把一个新的价值放在一起:
您没有改变字符串,而是更改了字符串
y
指向的内容。你知道吗y
最初指向"hello"
,然后运行行y=y.replace("h","m")
,使y
指向字符串"mello"
。原始字符串"hello"
从未发生过突变,因为字符串确实是不可变的。你知道吗是的,字符串是不可变的。当你排队的时候 y=y.替换(“h”,“m”) 您正在创建一个新字符串,而不是更改第一个字符串。第一个字符串实际上无法更改。你知道吗
相关问题 更多 >
编程相关推荐