序列
序列包含:字符串,元组,列表
可以进行的操作
索引和切片
s='hello'
print(s[0])#h
print(s[1:3])#el
print(s[:])#hello
print(s[-5:0])#hello
print(s[-5:-1])#hello
序列共同支持的函数
s1="abc"
s2="abd"
s3="das"
s4=[1,2,3]
print(len(s1))# 字符串长度
print(max(s1))#寻找序列中最大的
print(sorted(s3))#['a', 'd', 's']
print(sum(s4))# 求和
原始字符串
对于一些转义的字符串不进行转义,而是按照原来的样子打印出来
s1="asdd\nsad"
s2=r"asdd\nsad"
print(s1)
print(s2)
打印结果为:
asdd
sad
asdd\nsad
如果不在字符串前面加个r,就会对于转义字符进行转义,加了r就会按照原来的字符串进输出
格式化操作符
代码:
s='I Love %s'%"China"
print(s)#I Love China
s2="ASCII(%c)-67"%67 # ASCII值为67的为C
print(s2)#ASCII(C)-67
格式化辅助符
s="%5.2f" %3.1415926
print(s)#3.14
s2="%#x"%45
print(s2)#0x2d
对于宽度m,和小数点后面的数的个数n可以用(*号)动态带入这两个变量,换句话说就是把m,n用星号表示,然后在后面加入即可,看代码体会一下,就知道了,很好理解
s="%.*f"%(5,2.3)
print(s)# 2.30000
s2="%*.*f"%(5,2,3.1415)
print(s2)# 3.14
字符串内建函数
(1)字符串去空格
s=' abc '
s2='abca'
print(s.strip())#abc
print(s.rstrip())# abc 去除右边的空格
print(s.lstrip())#abc 去除左边的空格
print(s2.strip('a'))# 去除a bc
print(s2.lstrip('a'))# 去除左边的a bca
print(s2.rstrip('a'))# 去除右边的a abc
(2)连接字符串
join与+的区别
a="hello"
print(a.join('ab'))#ahellob
print(a)#hello
b="".join('ab')
print(b)# ab
str = "-";
seq = ("a", "b", "c") #字符串序列
print (str.join(seq))#a-b-c
print("%s%s%s"%(a,'ab','cd'))# helloabcd
这里值得注意的是,使用%可以字典将非字符串的转换成字符串,而join则不会,会报错
(3)分割和组合
b="I Am a student"
print(b.split(" "))#['I', 'Am', 'a', 'student']
print(b.split(" ",2))#['I', 'Am', 'a student']
print(b.rsplit(" ",2))#['I Am', 'a', 'student']
(3)查询
b="I Am a student"
print(b.split(" "))#['I', 'Am', 'a', 'student']
print(b.split(" ",2))#['I', 'Am', 'a student']
print(b.rsplit(" ",2))#['I Am', 'a', 'student']
print(b.find('I'))#0
print(b.find('st'))#7返回第一个查到的字符
print(b.find('s',0,4))#-1 从下表0到4
print(b.index('a'))# 5
print(b.index('a',0,3))#
ValueError: #substring not found
index与find方法唯一的区别就是,当index查找时,如果查不到就会报错,而find方法找不到会返回-1
(4)统计字符数量
b="I Am a student heihei"
print(b.count('e'))#3
print(b.count('e',0,12))#1
字符替换
b="I Am a student heihei"
print(b.replace('e','a'))#I Am a studant haihai
print(b.replace('e','a',1))#替换次数不超过1次 #I Am a studant heihei
字符串的测试,判断函数
判断是否以某个字符开头
b="I Am a student heihei"
print(b.startswith('I'))#True
print(b.startswith('Am',2,4))#True
判断是否以某个字符结尾
b="I Am a student heihei"
print(b.endswith('hei'))#True
print(b.endswith('hie',3,6))#False