python基础-字符串(1)

字符串

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.多多练习索引分片,自己要总结经验,才不容易出错。


微信关注.png

你可能感兴趣的:(python基础-字符串(1))