字符串:
数据类型的分类
可变(不可哈希)的:list dict set
不可变(可哈希)的:str bool int tuple
-
切片
基本结构:
str[start : end : step]
step步长默认为1
start或者end不写的话默认为第一个值与最后一个值
s = "我爱Python" s1 = s[:] print(s1) #这是切片整个字符串,相当于是copy了 s2 = s[2:] #只写了开头没有写结尾,所以是从索引为2的字符开始到最后 print(s2) s3 = s[:5] #这里只写了结尾没有写开头,所以是从第一个字符到索引为4的字符,注意:end这里是开区间,是取不到这个值的,只能取到5前面的数字即4 print(s3)
我爱Python Python 我爱Pyt
-
倒切:
易错点:python切片一定是从左往右走的,要让它从右往左走,step步长就要设置为负数
s = "987654321" s1 = s[-1:-5] #这里是打不出来东西的,因为python默认步长是1,只能从左往右走。 print(s1) s2 = s[-1:-5:-1] #要把步长设置为-1,才会倒着走!而且倒着只能走到索引为-4的字符这里 print(s2) s3 = s[-5:-1] #这里走不到最后,怎么办呢 print(s3) s4 = s[-5:] #直接用:表示最后 print(s4) s5 = s[::-1] #倒序打印全部 print(s5)
1234 5432 54321
-
常用方法
-
全部变大写— .upper()
全部变小写— .lower()
首字母大写,其余变小写— .capitalize()
大小写转换— .swapcase()
每个单词的首字母大写— .title()
s = "HELLO,I AM faYe,hoW aRe you?" print("----.upper()全部变大写----)") s1 = s.upper() print(s1) print("----.lower()全部变小写----)") s2 = s.lower() print(s2) print("----.capitalize()首字母大写其余全小写----)") s3 = s.capitalize() print(s3) print("----.swapcas