美文网首页
python字符串的不可变性

python字符串的不可变性

作者: merryzhou | 来源:发表于2017-07-08 10:44 被阅读0次

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

相关文章

  • 2018-10-11

    C基础入门Python(二) 2、字符串 字符串是单个单词的序列 1)创建字符串 字符串具有不可变性。但支持索引和...

  • Swift字符串的常见操作

    字符串的可变性 var 指定的可修改 let 指定的不可修改 对比 OC 的可变字符串和不可变字符串字符串的可变性...

  • Java(二)Java基础--03String

    一、字符串的不可变性 图解Java字符串的不变性 二、JDK 6 和 JDK 7 中 substring 的原理及...

  • python字符串的不可变性

    python的字符串是不可变对象。所谓不可变对象是指一旦生成后不能被改变的对象。 不可变对象有什么优点 : 可以提...

  • Java基础与框架

    1.String、StringBuffer、StringBuilder的区别? 可变性:String不可变(字符串...

  • python的“不可变性”代表了什么?

    在python中,每一个对象都可以分为不可变性或者可变性。 不可变性可以用来保证在程序中保持一个对象的固定不变。 ...

  • Diagram to show Java String’s Im

    图解java中String的不可变性 翻译自 What is string immutability 定义字符串 ...

  • 解决拼接字符串产生的滞留性-------StringBuilde

    学习StringBuilder:目的解决拼接字符串产生的滞留性。 string类有不可改变性,每次执行字符串拼接的...

  • java程序的性能优化(三)

    1 字符串优化处理 string的不可变性 substring 可能引发内存泄漏 字符串分割和查找 stringB...

  • Java高级-常用类

    9.1.字符串相关的类 理解String的不可变性 String: 字符串,使用一对""引起来表示1.String...

网友评论

      本文标题:python字符串的不可变性

      本文链接:https://www.haomeiwen.com/subject/mtmdhxtx.html