美文网首页初见
Python中的字符串的不可改变以及间接修改方法

Python中的字符串的不可改变以及间接修改方法

作者: 秦筱柯 | 来源:发表于2020-04-27 17:19 被阅读0次

    学习Python基础语法中,其中提到Python中的字符串不能改变,我有点疑惑,印象中可以改变,资料查询了解到关于Python中的字符串问题

    首先Python中,字符串是不可变类型,既无法直接修改字符串的某一位字符

    疑惑原因,直接上代码

    name = "Jone"

    name="Lone"

    print(name) #运行结果Lone

    你看这不是改变了吗?

    这好像同样是name,输出结果不同,改变了,其实不然

    上述例子虽然看起来都是name,但之后是变量赋值了

    这样可能有点不明白,直接上代码

    name ="Jone"

    print(id(name)) #输出结果2021722673968

    name ="Lone"

    print(id(name)) #输出结果2021751870128

    你看变量name是没有变,但是指向的字符串变了,也就是说这种改变是用新的字符串直接替换旧的字符串,而不是在原来的字符串上本身改变

    而不能改变的意思是不会因为其他操作而导致自身变化

    下面的代码

    name = "Jone"

    name[0] = "L"

    print(name) #运行结果出错,提示TypeError:'str'object does not support item assignment

    这才是Python中的字符串不能改变的意思

    虽然不能直接改变字符串的类型,但我们可以直接间接修改啊

    法1.变量赋值

    name = 'Jone'

    name = 'Lone'

    print(name) #运行结果Lone

    name = 'Jone'

    name += 'peng'

    pqint(name) #运行结果Jonepeng

    法2.使用replace函数

    #语法str.replace(old,new)

    name = 'Jone'

    name = name.replace('J','L')

    print(name) #运行结果Lone

    相关文章

      网友评论

        本文标题:Python中的字符串的不可改变以及间接修改方法

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