字符串
1. 字符串是不可变对象:
所有的字符串方法调用都生成了新的字符串对象
2.字符串表示:
- 单引号:
'单引号成对使用,引号内为字符串内容'
- 双引号:
''单引号与双引号,完全一样都可以表示字符串''
- 三个引号:
'''三个引号可以表示过长的文字或者是代码注释,
并且可以随意换行使用.'''
# 函数def语句和类class语句下的多行字符串,会出现在函数help信息中
- 转义字符以'\'开头:
- 例如:
\n
(换行符),\t
(制表符),\0
(Null),
- 例如:
3.字符串基本用法
3.1字符串的加法(合并):
singer = 'Charlie Puth'
chinese_name = '查理·普斯'
song = 'Suffer'
album = 'Some Type of Love'
info = singer + ' sings ' + song + ' that ' + album + ' is album.'
print(info)
输出结果为:
>>> Charlie Puth sings Suffer that Some Type of Love is album.
可以看到,字符串可以以空格开头。可以使用加法来进行拼接成完整的句子。
保留变量信息,输入:
info2 = '歌手:'+ singer +'\n'+ '歌曲:'+ song + '\n' + '专辑:'+ album
print(info2)
输出结果为:
歌手:Charlie Puth
歌曲:Suffer
专辑:Some Type of Love
在本例中,可以改变singer
,song
,album
等变量,来组合成音乐类APP中常用的信息,形成固定句式。
3.2字符串的乘法(重复):
保留变量信息,输入:
total = singer * (len(album) - len(singer))
print(total,'\n',len(album),len(singer))
# len()计算字符串长度的方法,返回int类型。
# 等价于 singer *5
返回结果中共有5个'Charlie Puth':
Charlie PuthCharlie PuthCharlie PuthCharlie PuthCharlie Puth
17 12
4.字符串分片与索引:
4.1索引:
取出字符串指定偏移量的单个字符
i = 'index and slice'
print(i[7]) #从0开始数到7,空格也算一个字符。
print(i[0], i[len(i)-1]) #首字符,尾字符。
print(i[-2])
得到结果如下:
n #从0开始数到7,正好是字母n。
i e #索引都是从0开始,所以索引结尾,需要字符串的长度减去1。
c #负数表示从结尾-1开始,往前面计数。
注意:索引为正数时,是从0开始计数;为负数时,是从-1开始计数。
索引常常只能提取某一字符,如果我们想截取其中的单词,又该怎么办呢?
4.2分片:
提取字符串中一部分内容(子字符串)
用法:i[开始:结束:步长值]
i = 'index and slice'
print(i[6:9]) #截取and
print(i[:3]) #截取前3个字符
print(i[2:-2]) #截取前2个字符后面的所有字符
输出结果:
and #从0开始,d为第8个字符,但要以8+1结尾,才能截取到d。
ind #从0开始,截取3个字符:i-0,n-1,d-2。(不包含e-3)
dex and sli #开头从0开始,结尾从-1开始,截取中间的字符串。
注意:分片中取值类似于数学中 左闭右开(2<=x<5) 的原则,x可以取2,但不能取到5
print(i[::6]) #每6个字符取首字母
print(i[::-1]) #倒序
print(i[8:5:-1]) #将and倒序排列
输出结果:
iai #每6个字符取首字母
ecils dna xedni #倒序
dna #
总结:
1.字符串由单引号、双引号、三引号 包围而成。
2.转义字符由:\+字母 组成。
3.索引为正,从0计数;索引为负,从-1开始。
4.分片计数同索引,牢记左闭和右开。
5.多多练习索引分片,自己要总结经验,才不容易出错。
![](https://img.haomeiwen.com/i3100708/c386feba93849f7c.png)
网友评论