---恢复内容开始---
一、整形“魔法”(理论水平不够,不知道该叫什么,应该是整形数据库重点一种功能吧)
(1).至少用几位二进制来表示
age = 5 #1 1 #2 10 #3 11 #4 100 #5 101 r = age.bit_length() print(r)
(2).将字符串转化为数字
1 # name = "123" 2 # print(type(name),name) 3 # v = int(name) 4 # print(v)
#输出结果
<class 'str'> 123
<class 'int'> 123
#字符串已经转化为整形
5 num = "0011" num必须用机器码 6 v = int(num,base=10) #将num转化为几进制 7 print(type(v),v)
二、字符串函数(魔法)
1 一、B.capitalize() 2 Return a copy of B with only its first character capitalized 3 (ASCII)and the rest lower-cased. 4 #字符串首字母大写,对字母有效,对数字无效。 5 6 name = "counrse" 7 old = "five years" 8 v = name.capitalize() 输出结果: Counrse 9 Five years 10 t = old.capitalize() 11 print(v) 12 print(t) 13 14 二、B.casefold() 15 B.casefold() -> str 16 Return a version of S suitable for caseless comparisons. 17 #将字符串中大写字母变成小写字母。 18 name = "CouNrse" 19 v = name.casefold() 输出结果:counrse 20 print(v) 21 22 三、center(self, width, fillchar=None) 23 Return S centered in a string of length width. Padding is 24 done using the specified fill character (default is a space) 25 #自定义一个长度,将字符串置于中间,其他位置填充你输入的字符。 26 #如果不输入,系统默认为填充空格。 27 name = "counrse" 28 v = name.center(20,'*') 输出结果:******counrse******* 29 print(v) 30 31 四、count(self, sub, start=None, end=None) 32 Return the number of non-overlapping occurrences of substring sub in 33 string S[start:end]. Optional arguments start and end are 34 interpreted as in slice notation. 35 #设置一个开始位置,一个结束位置,然后查找该字符串中的子序列。 36 #如果不输入,系统默认为从第一个开始,最后一个结束。 37 name = "counrse" 38 v = name.count('un', 1, 6) 输出结果:1 39 print(v) 40 41 五、encode(self, encoding: str = ..., errors: str = ...) -> bytes(编码) 42 43 str = "我从初中就一直喜欢你喜欢你"; 44 str_utf8 = str.encode("UTF-8") 45 str_gbk = str.encode("GBK") 46 47 print(str) 48 print("UTF-8 编码:", str_utf8) 49 print("GBK 编码:", str_gbk) 50 51 print("UTF-8 解码:", str_utf8.decode('UTF-8','strict')) 52 print("GBK 解码:", str_gbk.decode('GBK','strict')) 53 54 输出结果; 我从初中就一直喜欢你 55 UTF-8 编码: b'xe5x85xb6xe5xaex9exe6x88x91xe4xbbx8exe5x88x9dxe4xb8xadxe5xb0xb1xe4xb8x80xe7x9bxb4xe5x96x9cxe6xacxa2xe4xbdxa0' 56 GBK 编码: b'xc6xe4xcaxb5xcexd2xb4xd3xb3xf5xd6xd0xbexcdxd2xbbxd6xb1xcfxb2xbbxb6xc4xe3' 57 UTF-8 解码: 我从初中就一直喜欢你 58 GBK 解码: 我从初中就一直喜欢你 59 Process finished with exit code 0 60 61 六、endswith(self, suffix, start=None, end=None) 62 Return True if S ends with the specified suffix, False otherwise. 63 With optional start, test S beginning at that position. 64 With optional end, stop comparing S at that position. 65 suffix can also be a tuple of strings to try. 66 #输入一个字母,该函数判断是否以该字母结束,可以设定起始位置和结束位置。输出结果为bool. 67 #有endswith 则有startswith(),用法与endswith相同。 68 69 name = "counrse" 70 v = name.endswith('s',1,3) 输出结果;False 71 print(v) 72 73 七、expandtabs(self, tabsize=8) 74 Return a copy of S where all tab characters are expanded using spaces. 75 If tabsize is not given, a tab size of 8 characters is assumed. 76 #自己去设置字节长度,如果为设置,系统默认为8个字节长度。遇到 补充为剩余字节长度。 77 #补充: 可以用来制作表格。 78 79 name = "counrs123456 789" 80 v = name.expandtabs() 输出结果:counrs123456 789 19 81 print(v,len(v)) 82 83 八、find(self, sub, start=None, end=None) 84 Return the lowest index in S where substring sub is found, 85 such that sub is contained within S[start:end]. Optional 86 arguments start and end are interpreted as in slice notation. 87 88 '''Return -1 on failure.''' 89 #查找子序列在该字符串的那个位子,可设置开始和最后的查找位置。 90 name = "counrse" 91 v = name.find('n') 输出结果:3 92 print(v) 93 94 九、format(self, *args, **kwargs) 95 Return a formatted version of S, using substitutions from args and kwargs. 96 The substitutions are identified by braces ('{' and '}'). 97 #格式化,将一个字符串中的占位符替换为指定的值。 98 #('{' and '}').只能替换这些占位符。如果不指定,即遵循从左到右的顺序。 99 name = "I like {sky},numbe {a}" 100 print(name) 101 v = name.format(sky='sex',a=0 ) 输出结果; I like {sky},numbe {a} 102 I like sex,numbe 0 103 print(v) 104 105 106 107 108 十、format_map(self, mapping) 109 Return a formatted version of S, using substitutions from mapping. 110 The substitutions are identified by braces ('{' and '}'). 111 #格式化,传入的值如{"hero":'le'} 112 name = "counrse is {hero}" 113 v = name.format_map({"hero":'le'}) 输出结果: counrse is le 114 115 print(v) 116 117 十一、index(self, sub, start=None, end=None) 118 Return the lowest index in S where substring sub is found, 119 such that sub is contained within S[start:end]. Optional 120 arguments start and end are interpreted as in slice notation. 121 122 #Raises ValueError when the substring is not found. 123 #同found,找不到会报错,所以一般情况用found。 124 125 十二、isalnum(self) 126 Return True if all characters in S are alphanumeric 127 and there is at least one character in S, False otherwise. 128 #该字符串全是字母数字返回ture,有其他的返回false. 129 name = "counrse-=-" 130 v = name.isalnum() 输出结果:False 131 print(v) 132 133 134 name = "counrse" 135 v = name.isalnum() 输出结果:True 136 print(v) 137 138 十三、isalpha(self) 139 Return True if all characters in B are alphabetic 140 and there is at least one character in B, False otherwise. 141 #该字符串全是字母返回ture,否则返回false. 142 name = "cournse123=-" 143 v = name.isalpha() 输出结果:False 144 print(v) 145 146 name = "cournse123=-" 147 v = name.isalpha() 输出结果:True 148 print(v) 149 150 十四、isdigit(self) 151 Return True if all characters in B are digits 152 and there is at least one character in B, False otherwise. 153 #数字返回Ture,否则返回Flase 154 155 十五、islower(self) 156 Return True if all cased characters in B are lowercase and there is 157 at least one cased character in B, False otherwise. 158 #判断是否全是小写。lower将字符串全部小写化。 159 #判断全部是否是大写以及大写化。isupper()/upper(). 160 161 十六、isdecimal(self)、isdigit(self)、isnumeric(self) 162 #都是判断字符串是否是数字 163 #第一种支持数字 164 #第二种支持数字、特殊数字,如② 165 #第三种支持数字、特殊数字、中文数字、如二 166 167 十七、isprintable(self) 168 169 #判断是否存在不可显示的字符,如 , . 170 171 十八、isspace(self) 172 173 #判断是否全为空格。 174 175 十九、istitle(self)、title(self) 176 177 #第一个判断是否为英文标题。 178 #第二个转化为英文标题。 179 180 a = "Return True if all characters in B are whitespace" 181 v1 = a.istitle() 182 v2 = a.title() 输出结果: False 183 Return True If All Characters In B Are Whitespace 184 print(v1) 185 print(v2) 186 187 ***二十、join(self, *args, **kwargs) 188 #进行指定字符串拼接,每一个字符都与你所指定的字符拼接。 189 190 title = "快过来被我亲" 191 print(title) 192 t = ' -- ' 输出结果: 快过来被我亲 193 v = t.join(title) 快 -- 过 -- 来 -- 被 -- 我 -- 亲 194 print(v) 195 196 二十一、ljust(self, width, fillchar=None) 197 rjust(self, width, fillchar=None) 198 Return B left justified in a string of length width. Padding is 199 done using the specified fill character (default is a space). 200 #同center、把填充字符放左边(),第二个把填充字符放在右边。 201 202 二十二、.isidentifier() 203 #判断是否是标识符(数字、下划线、字母) 204 205 name = "_1Cadfkjafhkj" 206 v = name.isidentifier() 输出结果:True 207 print(v) 208 209 210 211 name = "1Cadfkjafhkj" 212 v = name.isidentifier() 输出结果:False 213 print(v) 214 215 二十三、lstrip(),rstrip(),strip() 216 #分别是处理左边空格、 、 .和右边空格、 、 .,以及两边空格、 、 的。 217 #指定内容,便去掉指定内容。*如果你输入的字符串不是原字符串子序列,然而你输入的字符串有 218 #原字符串的子序列,则函数自动去匹配。 219 name = " SDKJHKSHGKJSKGSK" 220 v = name.rstrip('186GSK') 输出结果: SDKJHKSHGKJ 221 print(v) 222 223 二十四、translate(self, *args, **kwargs)、 maketrans(*args, **kwargs) 224 #指定对应关系,并替换。 225 226 name = " SDKJH32544552KSHGKJSKGSK" 227 m = str.maketrans("HKG", "我爱你") 输出结果: SD爱J我32544552爱S我你爱JS爱你S爱 228 new_name = name.translate(m) 229 230 print(new_name) 231 232 二十五、partition()、rpartition()、 rsplit()、split()、splitlines() 233 #以你指定的字符分割,p~和rp~分割出来有你指定的字符,而s~和rs~分割出来没有你指定的字符。 234 #另外,正则表达式,有你设定如何分割。 235 #splitlines主要以 为分割点。 236 237 238 name = "cosurses" 239 new_name = "cosu rse s" 240 v = name.partition('s') 241 v1 = name.rpartition('s') 242 v2 = name.split('s') 243 v3 = name.rsplit('s') 244 v4 = new_name.splitlines() 输出结果: ('co', 's', 'urses') 245 print(v) ('cosurse', 's', '') 246 print(v1) ['co', 'ur', 'e', ''] 247 print(v2) ['co', 'ur', 'e', ''] 248 print(v3) ['cosu', 'rse s'] 249 print(v4) 250 251 252 二十六、swapcase(self) 253 Return a copy of B with uppercase ASCII characters converted 254 to lowercase ASCII and vice versa. 255 #将大写转化为小写,将小写转化为大写。 256 257 name = "c678679696ouAAAAnre141414s" 258 v = name.swapcase() 输出结果:C678679696OUaaaaNRE141414S 259 print(v) 260 261 262 263 264 265 266 267