expandtabs 断句魔法 test = "username\temail\tpassword\nxuli\[email protected]\t123\nxuli\[email protected]\t123\nxuli\[email protected]\t123" v = test.expandtabs(20) print(v) 运行程序后得到 username email password xuli [email protected] 123 xuli [email protected] 123 xuli [email protected] 123 括号里面的20表示遇到\t后就空格20,由于username不到20个字符,但是此时遇到了\t,前面username占8个位置,后面空白处补齐12个位置,同样email那里也是这样子的,password那里由于不需要空格了,直接用\n就是切换到下一行(换行),这种魔法可以用来做表格等等 isalpha 是检测字符串的文字的 test = "ashhued" v = test.isalpha() print(v) 运行结果为 ture 如果此时我将"ashhued"变为"ashhue23d"运行结果变为false 因为这个魔法只能去检测字母、汉子但是不能检测数字 isidentifier 魔法为字母、下划线、数字的标识符 test = "ashhued" v = test.isidentifier() print(v) 运行输出结果为true isdecimal 魔法和 isdigit魔法是用来判定字符串是否为数字 运行结果如果字符串为数字输出true,反之为false islower 魔法为判断是否为小写 isnumeric 魔法为判断是否为小写 可以支持二这种中文数字、123这种数字、②③这种数字 isprintable 魔法为判断是否存在不可显示的字符,比如说"husdasdsgu"运行后九尾true,但是如果将其变为"hu\tsdasdsgu加入了\t,此时运行后输出的结果就是false,因为\t(制表符)不能被输出,为不可见的;" isspace 魔法 判断是否全部为空格,如果字符和字符之间有空格,输出也为false istitle魔法 判断是否为标题 (标题的话不能判断中文,只能判断英文,英文的判断标准是首字母是否为大写),第二个魔法也可以用来将不是标题的转换为标题 test = "Welcome to my workhouse" v1 = test.istitle() print(v1) v2 = test.title() print(v2) v3 = v2.istitle() print(v3) False 判断"Welcome to my workhouse"不是标题 Welcome To My Workhouse 将"Welcome to my workhouse"转换为标题 True 判断"Welcome to my workhouse"是标题 所以为true join 魔法为将字符串中的每一个元素按照指定分隔符进行拼接 这个魔法非常重要!!!!!一定要记住哦 test = "你是风儿我是沙" print(test) t = ' ' v = t.join(test) print(v) 输出结果你是风儿我是沙 你 是 风 儿 我 是 沙 我们发现这个中文之间出现了空格 我们也可以这样来 test = "你是风儿我是沙" print(test) v = ' '.join(test) print(v) 直接不用把t写出来 输出结果还是为 你是风儿我是沙 你 是 风 儿 我 是 沙 那如果我们不想要空格,我们来一个下划线,我们看一下 test = "你是风儿我是沙" print(test) v = '_ '.join(test) print(v) 输出结果变为 你是风儿我是沙 你_ 是_ 风_ 儿_ 我_ 是_ 沙 ljust魔法, test = "alex" v = test.ljust(20,"*") print(v) 运行程序后得到结果 alex**************** 我们可以看在alex的右边出现了20个*,同样我们将ljust换成rjust,然后运行上面的这个小程序得到结果 ****************alex 同样我们将rjust换位center,得到居中的结果,如下: ********alex******** islower 和 lower的魔法 test = "Alex" v1 = test.islower() v2 = test.lower() print(v1,v2) 输出后得到结果 False alex 说明 islower是判断是否为小写,lower是将大写转换为小写; isupper 和 upper 的魔法 test = "Alex" v1 = test.isupper() v2 = test.upper() print(v1,v2) 输出后得到结果 False ALEX 说明 isupper 是来判断是否全部为大写,而upper 是用来将小写转变为大写 lstrip rstrip strip 统一的魔法: 去除空白 \t \n也可以去掉 还可以移除指定字符 优先最多匹配 maketrans的魔法是进行替换 v = "adheub;dexhyaas;hsuwsw" m = str.maketrans("aeiou","12345") new= v.translate(m) print(new) 输出结果得到 1dh25b;d2xhy11s;hs5wsw partition的魔法是进行分割,记住只能分割成为三份 test = "testjxisndgdgy" v = test.partition('s') print(v) 输出后得到结果 ('te', 's', 'tjxisndgdgy') rpartition的魔法也是进行分割,记住只能分割成为三份 test = "testjxisndgdgy" v = test.rpartition('s') print(v) 输出后得到结果 ('testjxi', 's', 'ndgdgy') split 的魔法是进行分割 test = "testjxisndsdgsgdgy" v = test.split('s') print(v) 输出后结果为 ['te', 'tjxi', 'nd', 'dg', 'gdgy'] 这个结果完全按照出现s的地方记性了分开 test = "testjxisndsdgsgdgy" v = test.split('s',2) print(v) 输出结果为 ['te', 'tjxi', 'ndsdgsgdgy'] 我们可以看到在‘s’的后面加了2 ,输出就将原始的字符自行分割了两次,并且分割后拿不到原来的s,我也可以随意的制定数字13456等等 同样的rsplit的魔法为从右边进行开始分割 splitlines的魔法是进行分割,后面加True,False,意思是是否保留换行 test = "testjx\nisn\ndsdgsg\ndgy" v = test.splitlines(False) print(v) 输出的结果为 ['testjx', 'isn', 'dsdgsg', 'dgy'] 换位True了以后 test = "testjx\nisn\ndsdgsg\ndgy" v = test.splitlines(True) print(v) 输出的结果为 ['testjx\n', 'isn\n', 'dsdgsg\n', 'dgy'] startswit的魔法是判断是以什么开头 test = "backed1.1.1.1.1" v = test.startswith('ba') print(v) 输出的结果为 True test = "backed1.1.1.1.1" v = test.startswith('a') print(v) 输出的结果变为 False 同理 endiwith是用来判断用什么结尾 test = "backed1.1.1.1.1" v = test.endswith('1') print(v) 输出结果为 True swapcase的魔法为大小写转换 test = "alEx" v = test.swapcase() print(v) 输出结果为ALeX 所有的str类型,按住Ctrl,就能看到他的魔法,可以进行尝试