1.1、字符串的常用操作方法

1 str = 'hello'
2 s = 'ni hao china'
3 s1 = 'heeeeeeeeeeee\tllo'
4 #首字母大写
5 str1 = str.capitalize()
6 print(str1)
7
8 #全部大写
9 str2 = str.upper()
10 print(str2)
11
12 #全部小写
13 str3 = str.lower()
14 print(str3)
15
16 #将大写变成小写,将小写变成大写
17 str4 = str.swapcase()
18 print(str4)
19
20 #中间用特殊字符或数字或空格隔开,将每个单词的首字母大写
21 str5 = s.title()
22 print(str5)
23
24 #设置总长度,将单词居中,空白部分用空格填充,也可以如下方式
25 str6 = str.center(20,'@')
26 print(str6)
27
28 #将转义字符\t输出为空格,expandtabs()默认为8,空格数视情况而定
29 str7 = s1.expandtabs(8)
30 print(str7)
31
32 #计算字符长度,汉字也算一个长度
33 str8 = len(str)
34 print(str8)
35
36 #判断是否以某个字符或字符串为起始,并返回True或False
37 str9 = str.startswith('h')
38 print(str9)
39 #判断str字符串在1至3区间是否以e为开头
40 str10 = str.startswith('e',1,3)
41 print(str10)
42
43 #find和index作用是查找字符或字符串起始位置,返回下标
44 #find找不到返回-1,index找不到返回报错信息
45 str11 = str.find('e')
46 str12 = str.index('l')
47 print(str11)
48 print(str12)
49
50 #删除空格字符,只获取有效字符
51 s2 = ' 你好 '
52 str13 = s2.strip()
53 print(str13)
54 #删除前后指定字符,获取有效字符
55 s3 = '你好@'
56 str14 = s3.strip('@')
57 print(str14)
58 #删除前后多个指定字符,顺序无所谓
59 s4 = '$你好@'
60 str15 = s4.strip('@$')
61 print(str15)
62 #只删前面
63 s5 = '@你好@'
64 str16 = s5.lstrip('@')
65 print(str16)
66 #只删后面
67 str17 = s5.rstrip('@')
68 print(str17)
69
70 #返回字符串中指定字符或字符串的数量,没有则返回0
71 s6 = 'jiang su da xue'
72 str18 = s6.count('an')
73 print(str18)
74
75 #通过指定字符或特殊符号或数字,将字符串转换成列表
76 s7 = 'jiang:su:da:xue'
77 str19 = s7.split(':')
78 print(str19)
79
80 #fORMat的三种玩法
81 s8 = '我叫{},今年{}岁,性别{},再说一遍我叫{}'.format('杜聪',21,'男','杜聪')
82 s9 = '我叫{0},今年{1}岁,性别{2},再说一遍我叫{0}'.format('杜聪',21,'男')
83 s10 = '我叫{name},今年{age}岁,性别{sex},再说一遍我叫{name}'.format(name='杜聪',age=21,sex='男')
84 print(s8)
85 print(s9)
86 print(s10)
87
88 #默认全部替换
89 s11 = '淮北师范大学在淮北'
90 s12 = s11.replace('淮北','江苏')
91 print(s12)
92 #只替换一处
93 s13 = s11.replace('淮北','江苏',1)
94 print(s13)
95
96 s14 = 'anhui123'
97 #判断字符串是否由数字和字母组成
98 print(s14.isalnum())
99 #判断字符串是否只由字母组成
100 print(s14.isalpha())
101 #判断字符串是否只由数字组成
102 print(s14.isdigit())
1.2、for循环

1 #遍历字符串
2 str = 'an hui sheng'
3 for i in str:
4 print(i)
5 #输出结果如下:
6 # a
7 # n
8 #
9 # h
10 # u
11 # i
12 #
13 # s
14 # h
15 # e
16 # n
17 # g
18
19 str1 = 'dfd骂人dfddf'
20 if '骂人' in str1:
21 print('有敏感字符')
int :用于计算。
1,2,3
bool:用户判断。
True,False
str:存储少量数据,进行操作
'fjdsal' ,'二哥','13243','fdshklj'
list:储存大量的数据。
[1,2,3,'泰哥','12353234',[1,2,3]]
元祖:储存大量数据,但是权限为只读。
(1,2,3,'第三方',)
dict:储存大量数据。
字典{'name':'云姐','age':16}
字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}
集合(set):{1,2,34,'asdf'}

1 #计算数的二进制的最小位数
2
3 i = 2
4 print(i.bit_length())
5 '''
6 i.bit_length()
7 1 0000 0001 1
8 2 0000 0010 2
9 3 0000 0011 2
10 '''
11
12 #int--->str
13 #他们之间的转换没有任何要求
14 i = 1
15 s = str(i)
16
17 #str--->int
18 #要求str只能是数字
19 s = '123'
20 i = int(s)
21
22 #int--->bool
23 #0转换之后就是False,非0转换之后就是True
24 i = 1
25 b = bool(i)
26
27 #bool--->int
28 #True转换之后是1,False转换之后是0
29
30 #注:下面1比True的效率高
31 while True:
32 pass
33 while 1:
34 pass
35
36 #str--->bool
37 s = ""#空字符都是False
38 s = "0"#非空字符都是True

1 #获取单个索引
2 s = 'abcdefghijk'
3 s1 = s[2]
4 print(s1)
5
6 #获取一个切片,即范围内的字符串
7 #有一个规律就是它顾头不顾尾,即以下的取不到4
8 s2 = s[1:4]
9 print(s2)
10
11 #可以从后往前取
12 s3 = s[-1]
13 print(s3)
14
15 #获取整个字符串
16 s4 = s[0:]
17 s5 = s[:]
18 print(s4,s5)
19
20 #s[首:尾:步长]
21 s6 = s[0:7:4]
22 print(s6)
23
24 #从指定地方从后往前取,且每隔两位取一个
25 s7 = s[4::-2]
26 print(s7)
27
28 #从后往前取,取完
29 s8 = s[-1::-1]
30 s9 = s[::-1]
31 print(s8,s9)