python字符串的不可变性

python的字符串是不可变对象。所谓不可变对象是指一旦生成后不能被改变的对象。

<b>不可变对象有什么优点</b>:

  1. 可以提高性能,解释器可以分配一段固定的内存,并且可以重用该对象。比如,CPython在实现中预先申请了所有的单字节字符,并且,如果字符串运算后的结果与运算前相同,就会返回运算前的字符串。
  2. python里面,字符串与数字一样,被认为是表示思想的最基本材料。在Python里,没有任何方法可以把数字8变成其它东西,同样,也没有办法把"eight"这个字符串变成其它东西。
  3. 使用不可变数据结构,强调了一种无副作用的编程方式(函数式编程)。同时,如果多个变量引用了同一个字符串对象,不会出现修改了某个变量的值,而对另一个变量产生影响。

示例:

>>> b="1234"
>>> id(b)
53399088
>>> c="1234"
>>> id(c)
53399088
>>> b="111"
>>> id(b)
53396568
>>> id(c)
53399088
>>> id(b+"11")
52665120
>>> id(b)
53396568
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容