字符串的索引与拼接
str 字符串
假设一个字符串
s = 'ABCDEFG'
s = 'ABCDEFG' s1 = s[0] print(s1)
输出是A
这段代码就是索引字符串,提取出指定位置的字符
每个被提取出来的元素都是新的字符串,与原来的字符串没有关系
字符串里的每个元素都会被编上序号,从前到后依次是0123456,编程中编号都是从0开始的
上诉代码就是提取字符串s中编号是0的字符
s = 'ABCDEFG' s2 = s[0:4] print(s2)
输出是ABCD
上诉代码是要求输出字符串中编号0到4的元素,但是在字符串的切片中,还有一个原则是顾头不顾尾
所以输出了0123,并没有输出4,这就是字符串的切片
s = 'ABCDEFG' s3 = s[-1::-1] print(s3)
当然有正向切片,也有反向切片,-1就代表字符串倒数第一个
所以上面代码输出的是GFEDCBA
s = 'ABCDEFG' s4 = s[0:5:2] print(s4)
这段代码中,中括号内是0 5 2,三个,其中0代表起始位置,5代表终止位置.而根据顾头不顾尾原则,
终止位置的是不会输出出来的.2代表的是步长,简称首 尾 长.步长代表的是每几位取出一个元素
2就是没两位取出一个元素.所以上面代码输出的就是ACE.如果是倒着切的,那么步长也应该是负的.
字符串的操作
.capitalize() 首字母大写
s = ('GrandDarkness') s1 = s.capitalize() print(s1)
Granddarkness
.upper() 全部大写
s = ('GrandDarkness') s1 = s.upper() print(s1)
GRANDDARKNESS
.lower() 全部小写
s = ('GrandDarkness') s1 = s.lower() print(s1)
granddarkness
.swapcase() 大小写翻转
s = ('GrandDarkness') s1 = s.swapcase() print(s1)
gRANDdARKNESS
.title() 将被空格和特殊字符隔开的单词的首字母大写(数字也是字符)
s = ('Gr andD2ark#ness') s1 = s.title() print(s1)
Gr Andd2Ark#Ness
.center() 可以自己在括号内设定字符串的长度,还可以自定义空白处填充的字符,并将字符串自动居中
s = ('GrandDarkness') s1 = s.center(30,'*') print(s1)
********GrandDarkness*********
.expandtabs() 如果字符串中有 ,将会在该字符前面补齐八位(位置),如果超过八位却不足十六位,就补足十六位,补齐方式是八的倍数
s = ('Gr andDarkness') s1 = s.expandtabs() print(s1)
Gr andDarkness
.len() 该方法是公共方法,作用是计算字符串中字符的数量
s = ('GrandDarkness') s1 = s.__len__() print(s1)
13
.startswith() 判断字符串是否以XXX为开头
s = ('GrandDarkness') s1 = s.startswith('gr') print(s1)
False
s = ('GrandDarkness') s1 = s.startswith('Gr') print(s1)
True
.find() 可以索引字符串中特定字符的位置,可以找到就返回位置,找不到则返回-1
s = ('GrandDarkness') s1 = s.find('D') print(s1)
5
s = ('GrandDarkness') s1 = s.find('R') print(s1)
-1
.index() 这个与上面的作用相同,但是如果该字符串中没有要索引的字符,就会报错
s = ('GrandDarkness') s1 = s.index('a') print(s1)
2
s = ('GrandDarkness') s1 = s.index('R') print(s1)
.strip() 去除字符串中的空格,也可以在方法中添加特殊字符来删除字符串中的特殊字符,但是无法删除字符串中间的空格和字符
s = (' GrandDa rkness ') s1 = s.strip() print(s1)
GrandDa rkness
.lstrip() 与上面一个作用相同,但是它只删除左边的右边不删除.
s = (' GrandDa rkness ') s1 = s.lstrip() print(s1)
GrandDa rkness
.rstrip() 与上面作用相同,但是它只删除右边,不删除左边.
s = (' GrandDa rkness ') s1 = s.rstrip() print(s1)
GrandDa rkness
.count() 通过索引来计算字符串中特定字符的个数
s = ('GrandDarkness') s1 = s.count('s') print(s1)
2
.split() 以特定字符为分割点,分割成列表,默认是空格,也可以自定义字符,被选中的字符不输出
s = ('GrandDarkness') s1 = s.split('a') print(s1)
['Gr', 'ndD', 'rkness']
.format 作用相当于占位符
name = input('请输入姓名:') name2 = input('请输入好友姓名:') place = input('请输入地点:') hobbie = input('请输入爱好:') s = '在一个风和日丽的上午,{name}和{name2},在社区里的{place},热心的进行了{hobbie}.' .format(name=name,name2=name2,place=place,hobbie=hobbie) print (s)
.replace() 可以讲字符串中的一部分替换成别的,默认被选择的全部替换,可以自定义替换次数
s = ('GrandDarkness') s1 = s.replace('a','cc') print(s1)
GrccndDccrkness
for循环
s = 'ABCDEFG' for i in s: print(i)