python字符串概述(表现形式/索引/不可变性)

正文:

python2中,字符串在内存中是str类型。展现形式是unicode编码。unicode字符串需要加上u标记。

字符串表示方法分为单引号、双引号、三引号。一般三引号的字符串,没有引用的话就会作为注释。常见的就是双引号和单引号,这两种的使用效果是相同的。

需要注意的是,如果字符串中有其他字符串,就需要使用不同的引号,例如最外层是双引号,那么内部字符串需要使用单引号,例如一个拼接html代码: "<div style='height:10px'></div>>"。如果内部还有一层字符串,就用跟它外层不同的引号,然后用转义字符转义。形如 " 。

字符串索引编号:在python中,可以把字符串理解为一个不可变的数组,利用索引读取它的值(不能利用索引修改它的值)。而且可以双向索引。索引编号正向从0开始,反向从-1开始。例如:

 str1 = "asdfg"
 print str1[0]      # a 正向从0开始索引
 print str1[-5]     # a 反向从-1开始,第一位就是-5
 print str1[-1]     # g 反向索引
 print str1[4]      # g 正向索引

字符串不可变:上边说到可以把字符串看成一个不可变的数组,为什么是不可变呢?顾名思义,就是说字符串本身是不可以改变的,换句话说,我们所见到的改变,实际上都是干掉了旧字符串,生成了一个新的字符串。贴一段代码就可以理解了:

 str1 = "asdfg"
 print id(str1)     # 打印str1的内存地址
 str1 += "w"        # 在str1后边拼接上一个字符w
 print id(str1)     # 再次打印内存地址
 str1 = "asdf"      # 看似去掉一个w字符。实际上是一个新字符串
 print id(str1)     # 打印内存地址
 ​
 ###下方是输出,自己测试地址会有区别,但是三个结果一定是不同的
 # 44690720
 # 44690784
 # 44690752

每次对字符串做出修改时,实际上都是在一个新的内存地址里生成了一个新的字符串,现在的这个字符串已经不是原本的字符串了。也就是说它是不可修改的。

 

其他部分链接

python字符串常见操作:https://blog.csdn.net/gongxiaoyi9511/article/details/105666565

python字符串格式化:补充链接

python字符串常用方法:https://blog.csdn.net/gongxiaoyi9511/article/details/105691659

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值