1 #!/usr/bin/env python
2 # -*- conding:utf8 -*-
3
4 #test = "newmet.top"
5
6 #v = test.capitalize() #首字母大写
7 #v = test.casefold() #把所以字母变小写,casefold更厉害,很多未知的也能转变成小写
8 #v = test.lower() #把所以字母变小写
9 #v = test.upper() #把所以字母变大写
10 #v = test.center(20,"*") #设置宽度,并将内容居中。* 空白位置填充(*-只能是一个字符,可有可无)
11 #v = test.count('e',3,5) #当前字符串在test中的个数,范围:从第3个位置开始找,到第五个位置结束
12 #encode
13 #decode
14
15 """
16 #expandtabs 出现 断句20
17 test = "username email password
newmet newmet.top 123
newmet newmet.top 123"
18 v = test.expandtabs(20)
19 print(v)
20 #结果:
21 #username email password #位置个数:20+20+8
22 #newmet newmet.top 123 #位置个数:20+20+3
23 #newmet newmet.top 123 #位置个数:20+20+3
24 """
25
26 #v = test.endswith('et',3,5) #以当前字符串结尾,范围:从第3个位置开始,到第5个位置结束
27 #v = test.startswith('te',3,5) #以当前字符串开始,范围:从第3个位置开始,到第5个位置结束
28 #v = test.find('w',1,6) #从开始往后找,找到第一个之后,获取其位置。范围:从第1个位置开始,到第5个位置结束
29 #v = test.index('w') #index == find .find 找不到时输出-1,index 找不到时直接报错。
30
31 """
32 # format 格式化,将一个字符串中的占位符({name}、{a})替换为指定的值
33 test1 = 'I am {name},age {a}'
34 print(test1) #结果:I am {name},age {a}
35 v = test1.format(name='newmet',a=15) #结果:I am newmet,age 15
36 """
37 """
38 # format 格式化,将一个字符串中的占位符({name}、{a})替换为指定的值
39 test1 = 'I am {0},age {1}' #格式化 占位符按{0}、{1}、{2}、{3}...代替
40 print(test1) #结果:I am {0},age {0}
41 v = test1.format('newmet',15) #结果:I am newmet,age 15
42 """
43 """
44 # format_map 格式化,将一个字符串中的占位符({name}、{a})替换为指定的值
45 test1 = 'I am {name},age {a}'
46 print(test1) #结果:I am {name},age {a}
47 v = test1.format_map({'name':'newmet','a':15}) #结果:I am newmet,age 15
48
49 # format_map == format
50 """
51
52 #v = test.isalnum() # 字符串中是否只包含 字母和数字,包含其他,输出False;否者输出True。
53 #v = test.isalpha() # 字符串中是否只包含 字母和汉字,包含其他,输出False;否者输出True。
54 #v = test.isdecimal() #当前输入的是否是 数字 isdecimal == isdigit == isnumeric
55 #v = test.isdigit() #当前输入的是否是 数字 isdigit 更厉害。包含像是 ② 的特殊字符时,结果为True
56 #v = test.isnumeric() #当前输入的是否是 数字 " 二 " 也可以
57
58 """
59 # isidentifier
60 # 字母,数字,下划线:标识符
61 a = "_123def"
62 v = a.isidentifier() #输出True、False
63 print(v)
64 """
65
66 #v = test.islower() #判断是不是都是小写
67 #v = test.isupper() #判断是不是都是大写
68 #v = test.isprintable() #是否存在不可显示的字符(如 制表符、
换行符等)
69 #v = test.isspace() #判断是否全部都是空格
70 #v = test.istitle() #判断是不是标题(标题首字母都是大写)
71 #v = test.title() #把字符串变为标题(标题首字母都是大写)
72
73 """
74 # ***** join 将字符串中的每一个元素按照指定分隔符(v1)进行拼接 *****
75 # *****
76 test1 = "初相识newmet.top"
77 print(test1) #初相识newmet.top
78 v1=' '
79 v2 = v1.join(test1) #初 相 识 n e w m e t . t o p
80 print(v2)
81 # *****
82 """
83 #v = test.ljust(20,"*") # 输出结果:newmet.top********** (20char)
84 #v = test.rjust(20,"*") # 输出结果:**********newmet.top (20char)
85 #v = test.zfill(20) # 输出结果:0000000000newmet.top (20char)不能指定字符,只能用0填充。
86
87 #v = test.lstrip('ne') # 查找指定字符ne(优先最多字符组合匹配)去除 及去除 左边空白及 、
88 #v = test.rstrip('ne') # 查找指定字符ne(优先最多字符组合匹配)去除 及去除 右边空白及 、
89 #v = test.strip('ne') # 查找指定字符ne(优先最多字符组合匹配)去除 及去除 两边空白及 、
90
91 """
92 # maketrans translate 把字符(aemot)替换为(12345)
93 v = "newmet.top;ewoiuhvubsf.fweafjhsh"
94 m = str.maketrans("aemot","12345")
95 new_v = v.translate(m)
96 print(new_v)
97 """
98
99 #v = test.partition('t') #结果:('newme', 't', '.top') 注释:以t为分割字符(从左往右第一个)把newmet.top分割成3部分(只能分割成3部分)
100 #v = test.rpartition('t') #结果:('newmet.', 't', 'op') 注释:以t为分割字符(从右往左第一个)把newmet.top分割成3部分(只能分割成3部分)
101 #v = test.split('t',1) #结果:['newme', '.top'] 注释:以t为分割字符(从左往右,寻找1个)把newmet.top分割,不保留t
102 #v = test.rsplit('t',1) #结果:['newmet.', 'op'] 注释:以t为分割字符(从右往左,寻找1个)把newmet.top分割,不保留t
103 #partition 与 split 区别:split可以指定分割符分割几次(可以指定个数);partition只能分割一次(不可指定个数)
104 #正则表达式
105 #可以提供:是否想要留下分割的元素,即:partition + split 两者的综合。
106 #分割,只能根据换行符分割;True、False:是否保留换行符。
107 #test1 = "dasdasfa
asdasfawe
sdfdg"
108 #v = test1.splitlines(False) #结果:['dasdasfa', 'asdasfawe', 'sdfdg']
109 #v = test1.splitlines(True) #结果:['dasdasfa
', 'asdasfawe
', 'sdfdg']
110
111 #v = test.startswith('n') #以什么什么开头
112 #v = test.endswith('p') #以什么什么结尾
113
114 #v = test.swapcase() #大写变为小写,小写变为大写。
115
116 #v = test.replace('t','sss') #结果:newmesss.sssop 将 指定字符转==>>新给定的字符
117 #v = test.replace('t','sss',1) #结果:newmesss.top 将 指定字符转==>>新给定的字符,转变个数为:1
118
119 """
120 ********7个最重要、最常用的********
121 join
122 split
123 find
124 strip
125 upper
126 lower
127 replace
128 ***********必须记住***************
129 """
130
131 #*************************************
132 #test = "newmet.top"
133
134 #v = test[2] #索引、下标 通过索引的方式去获取字符串中的某个字符。
135 #v = test[0:5] #范围性索引(获取该范围内的字符),范围:>=0 <5 (0--4)
136 #v = test[0:-1] #结果:newmet.to 切片
137
138 #v = len(test) # len 获取当前字符串中由几个字符组成
139
140 #li = [12,23,45,76,87,"weqw"]
141 #v = len("esfsjfisdf")
142 #v = len(li)
143 #v = '_'.join("fweafaefef")
144 #v = '_'.join(test)
145
146 """
147 # for 循环
148 # for 变量名 in 字符串:
149
150 # 可以用在:索引、切片、len()、for循环
151
152 #输出字符串test中每个元素
153 index = 0
154 while index < len(test):
155 v = test[index]
156 print(v)
157 index += 1
158 print('========')
159 #简单化:
160 for temp in test:
161 # continue
162 print(temp)
163 # break
164 print('=======')
165 """
166
167 #for temp in test:
168 # continue
169 # print(temp)
170
171 #for temp in test:
172 # print(temp)
173 # break
174
175
176 """
177 #帮助创建连续的数字,通过设置步长,来指定不连续
178 v = range(0,100)
179 for item in v:
180 print(item)
181
182 v = range(0,100,5)
183 for item in v:
184 print(item)
185 """
186
187
188 #将文件对应的索引打印出来
189 test1 = input('>>>')
190 print(test1)
191 l = len(test1)
192 print(l)
193 r = range(0,l)
194 for item in r:
195 print(item,test1[item])
196
197
198 """
199 **********4个最常用的*************
200 len()
201 for循环
202 索引
203 切片
204 ***********必须记住***************
205 """
206
207
208 """
209 *************1个注意**************
210 字符串一旦创建,不可修改
211 一旦修改或者拼接,都会造成重新生成字符串
212
213 num1 = "adasfasf"
214 num2 = "16s"
215 num = num1 + num2
216 print(num)
217 """
218
219 #print(v)