Python-03-字符串_str
class str (object)_中文注释:
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 出现 \t 断句20 17 test = "username\temail\tpassword\nnewmet\tnewmet.top\t123\nnewmet\tnewmet.top\t123" 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() #是否存在不可显示的字符(如\t制表符、\n换行符等) 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(优先最多字符组合匹配)去除 及去除 左边空白及\t、\n 88 #v = test.rstrip('ne') # 查找指定字符ne(优先最多字符组合匹配)去除 及去除 右边空白及\t、\n 89 #v = test.strip('ne') # 查找指定字符ne(优先最多字符组合匹配)去除 及去除 两边空白及\t、\n 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\nasdasfawe\nsdfdg" 108 #v = test1.splitlines(False) #结果:['dasdasfa', 'asdasfawe', 'sdfdg'] 109 #v = test1.splitlines(True) #结果:['dasdasfa\n', 'asdasfawe\n', '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)