内置类型的问题——不可变类型不能就地改变

未匹配的标注

为了完整性再说一次:不能就地改变不可变对象。相反,使用切片,连接等操作会构建新对象,且如果需要的话将其分配给原来的引用:

T = (1, 2, 3)
T[2] = 4 # Error!
T = T[:2] + (4,) # OK: (1, 2, 4)

这可能看起来像额外的编程工作,但好处是当使用不可变对象如元组或字符串时,本节中前面的问题不会发生;因为它们不能就地改变,所以不会受到这里列出的这些副作用的影响。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~