我只是想要掌握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
我希望这一切都有意义吗?
答案 0 :(得分:10)
Python中的字符串是不可变的 - 它们不能被更改。从这个意义上说,Python字符串很像数字。必须使用字符串操作运算符/方法的结果。
现在, mutable 对象被设计为更改:列表和字典是可变对象 - 大多数(所有标准?)副作用方法返回None
(表明它是< em>变异很重要。)