一.通过索引对字符串切片

  切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。我们使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。

       格式: [start:end:step]

  • start默认取值,若step为正数,则默认为0,若step为负数,则默认为-1
  • end默认取值,若step为正数,则默认为字符串末尾位置,若step为正数,默认为字符串开头位置
  • step默认是1.正数则向右切片,若为负数则向左切片   

  例:

s = 'abcdefghi'
print(s[::])
print(s[:3:])
print(s[:3:-1])
print(s[2::])
print(s[2::-1])

运行结果:

abcdefghi
abc
ihgfe
cdefghi
cba

  

二.字符串操作常见方法

字母全部大写

str.upper()

 

字母全部小写

str.lower()

 

大小写翻转

str.swapcase()

 

首字母大写

str.capitalize()

注:将所有字母都变成小写,若首个字符是字母将字母转化为大写

 

长字符用符号(数字,空格)隔开后,每个隔开字符串首字母大写

str.title()

注:将所有字母都变成小写,若首个字符是字母将字母转化为大写

 

字符串居中(返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格)

str.center(width[, fillchar])

 

获取字符串长度

l=len(s)

判断字符串是否是以指定子字符串开头

str.startswith(str, beg=0,end=len(string));

注:范围是[beg,end)

 

查找元素在字符串中的索引

str.find(sub,_start,_end)
str.index(sub,_start,_end)

注:find找不到返回-1,index找不到报错,元素是子字符串,返回子串首字母索引

 

删除指定字符串开头结尾指定字符

str.strip(chars)
str.rstrips(chars)
str.lstrips(chars)

注:默认删除空格

 

计算字符在字符串中出现的次数

str.count(x,_start,_end)

 

分割字符串

str.split(sep,maxsplit)

三.字符串格式化输出

1.通过%占位符的方式

  例:

msg1 = '''我的名字是%s,
我的年纪%d,
我的身高%d'''%('张三',18,176)
print(msg1)
msg2 = '''我的名字是%(name)s,
我的年纪%(age)d,
我的身高%(height)d'''%{'name':'张三','age':18,'height':176}
print(msg2)

 

2.使用format方法

  例:

msg3 = '''msg3
我的名字是{},
我的年纪{},
我的身高{}'''.format('张三',18,176)
print(msg3)
msg4 = '''msg4
我的名字是{0},
我的年纪{1},
我的身高{2}'''.format('张三',18,176)
print(msg4)
msg5 = '''msg5
我的名字是{name},
我的年纪{age},
我的身高{height}'''.format(name='张三',age=18,height=176)
print(msg5)

  思考:是否自己可以写一个格式化输出方法