用途:记录文字类描述性信息
定义方式:
1:(单引号):
'这是字符串'
2:(双引号):
"这是双引号字符串"
3:(三引号):(三个单引号或者三个双引号都可以,)
'''这 是 字符串'''
4:
s1 = str([1,2,3]) #将列表转换成字符串 print(type(s1))
>>> <class 'str'>
1:索引:
按索引值索取:
索引值是从0开始,从左往右
当然,还有反向的:
s2 = 'hello' print(s2[1]) print(s2[-2])
>>> h l
2:切片:
(顾头不顾尾),从一串大字符串中获取一段字符串:
[a:b:c] #a是起始位置,默认是最开头,b是结束位置+1,默认是最后一位,c是步长默认是1
s2 = 'Hello,friend' print(s2[0:5]) print(s2[::]) #如果什么都不是输入就会默认在第一个和最后一个, print(s2[0:7:2]) #步长设置为2,每获取一个就跳过一个 print(s2[7:0:-1]) #反正过来切片 >>> Hello, Hello,friend Hlofi rf,olle
3:统计长度:
len() #这个方法可以统计数据有多少个元素,但是在字符串中却是统计字符串有多少个字符(空格,标点符号也算字符)
例:
s2 = 'Hello,friend' print(len(s2)
>>> 12
4:循环
#因为字符串是有序列的所以可以被for循环,循环是通过字符串中的字符长度,
s2 = 'what?' for i in s2 print (i) >>> w h a t ?
5:常用方法
1 .strip() #去除字符串两边的空格(默认),可以指定去除的字符 2 s = ' Hello , ' 3 print(a.strip()) 4 >>> 5 Hello, 6 ============= 7 s = ' a bc cd Ea' #也可以删除多个字符,不同的字符中间用空格隔开, 8 x = s.strip('a' ' ') 9 print(x) 10 >>> 11 bc cd E 12 13 .strip() #和.strip()相同,不过只会删除左边的 14 .rstrip() #和.strip()相同,不过只会删除右边的 15 16 .split('*1'[,*2]) #将字符串按照'*'进行分割,它会把字符串分割成一个列表,被分割的字符会消失,[可选项:可以指定分割几(*2)次,不输入就是全部分割] 17 s = 'helloxclyxagex17' 18 print(s.split('x',2)) 19 >>> 20 ['hello', 'cly', 'agex17'] 21 22 .rsplit() #和.split()一样的效果,只不过是从右边开始 23 24 '*'.join(*) #将可迭代的对象(*)通过'*'进行拼接 25 s = ['qwe','rts'] 26 s = '_'.join(s) 27 print(s) 28 print(s.split('_')) 29 >>> 30 qwe_rts 31 ['qwe', 'rts'] 32 33 .lower() #将字符串的英文全部小写 34 .upper() #将字符串的英文全部大写 35 36 .startswith('*') #判断字符串是不是以*开头 37 .endswith('*') #判断字符串是不是以*结束 38 39 .format() #字符串格式化 40 将一个字符串中的占位符替换为指定的值,也可填写数字,但必须从0开始,不可以一边用数字一边用字符(如果要传列表,必须要加*号(1个星号),如果要传字典,必须要加**号(两个星号) 41 42 a = 'i am {name}' 43 b = a.format(name='cly') 44 print(a) 45 print(b) 46 >>> 47 i am {name} 48 i am cly 49 ---------------------- 50 a = 'i am {0},age = {1}' 51 b =a.format('cly','17') 52 print(a) 53 print(b) 54 >>> 55 i am {0},age = {1} 56 i am cly,age = 17 57 ---------------------- 58 a = 'i am {name},age = {age}' 59 b =a.format(**{'name'='cly','age'='17'}) 60 print(a) 61 print(b) 62 >>> 63 i am {0},age = {1} 64 i am cly,age = 17 65 66 .replace('*2','*3'[,*3]) #将字符串中的'*2'替换为'*3',[可选项:替换的个数] 67 .isdigit() #查看字符串是不是纯数字 68 69 .find('*') #查看字符串'*'的索引值,找不到就输出-1,不报错 70 .rfind('*') #同find,不过是从右边开始索引 71 .index('*') #查看字符串的索引值,找不到就直接报错 72 .rindex('*') #同index,不过是从右边开始索引 73 .cont('*') #查看字符'*'在字符串中出现的次数