0

我刚刚开始接触 Python,所以我试图掌握“经验法则”,这样我就可以理解这些点点滴滴是如何一起工作的。

所以对于这段代码:

string = "Hello World"
string.replace ("World", "Mars")
print string (which would equal "Hello World")

我知道它不会更改数据对象,为此您需要分配一个变量。

hello = string.replace("World", "Mars")
print hello

我更想知道返回字符串是否只是典型的方法。或者这里有一些更大的基本规则。因为当我考虑一个函数时,除非您为其分配一个变量,否则您也不能在那里更改数据对象。那么这是 Python 中的一般经验法则吗?你不能改变一个对象而不做:

object = altering code

我希望这一切都有意义?

4

1 回答 1

10

Python 中的字符串是不可变的——它们无法更改。从这个意义上说,Python 字符串很像数字。必须使用字符串操作运算符/方法的结果

现在,可变对象被设计为可以更改:列表和字典是可变对象 - 大多数(所有标准?)副作用方法返回None(表明它是重要的突变)。

于 2013-06-14T23:07:16.333 回答