Python基础-字符串练习
常用字符串操作
- capitalize() 把字符串的第一个字符改为大写
- casefold() 把整个字符串的所有字符改为小写
-
swapcase() 翻转字符串中的大小写。
- lower() 转换字符串中所有大写字符为小写。
-
upper() 转换字符串中的所有小写字符为大写。
- center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串
- count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
- encode(encoding='utf-8', errors='strict') 以 encoding 指定的编码格式对字符串进行编码。
- endswith(sub[, start[, end]]) 检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
- expandtabs([tabsize=8]) 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
- find(sub[, start[, end]]) 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。
- rfind(sub[, start[, end]]) 类似于 find() 方法,不过是从右边开始查找。
- index(sub[, start[, end]]) 跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。
- rindex(sub[, start[, end]]) 类似于 index() 方法,不过是从右边开始。
- isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字,返回 True,否则返回 False。
- isalpha() 如果字符串至少有一个字符并且所有字符都是字母,返回 True,否则返回 False。
- isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False。
- isspace() 如果字符串中只包含空格,则返回 True,否则返回 False。
- isdigit() 如果字符串只包含数字,返回 True,否则返回 False。
- isdecimal() 如果字符串只包含十进制数字,返回 True,否则返回 False。
- istitle() 如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。
- islower() 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,返回 True,否则返回 False。
- isupper() 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。
- lstrip() 去掉字符串左边的所有空格
- rstrip() 删除串末尾的空格。
- strip([chars]) 删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。
- join(sub) 字符串作为分隔符,插入到 sub 中所有的字符之间。
- ljust(width) 返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。
- rjust(width) 返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。
- zfill(width) 返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。
- partition(sub) 找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '')
- rpartition(sub) 类似于 partition() 方法,不过是从右边开始查找。
- replace(old, new[, count]) 把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
- split(sep=None, maxsplit=-1) 默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。
- splitlines(([keepends])) 结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。
- startswith(prefix[, start[, end]]) 字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。
- title() 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
- translate(table) 根据table 的规则(可以由 str.maketrans('a', 'b') 定制)转换字符串中的字符。
1 str1="hello,daniel" 2 print(str1[:6]) 3 print(str1[3]) #对元素进行索引时必须为中括号[] 4 5 #元素的修改 6 str2=str1[:5]+",insert"+str1[5:] #直接使用引号插入即可 7 print(str2) #在元组中插入元素时,还需小括号和逗号,三者缺一不可 8 9 10 #字符串格式化符号 11 12 """ 13 %c 格式化字符及其ASCII码 14 %s 格式化字符串 15 %d 格式化整数 16 %o 格式化无符号八进制数 17 %x 格式化无符号十六进制数 18 %X 格式化无符号十六进制数(大写) 19 %f 格式化浮点数字,可指定小数点后的精度 20 21 %e 用科学计数法格式化浮点数 22 %E 作用同%e,用科学计数法格式化浮点数 23 %g 根据值的大小决定使用%f或%e 24 %G 作用同 %g,根据值的大小决定使用%f或%E 25 """ 26 27 a1='%c' % 97 # 格式化字符及其ASCII码 28 a2='%c %c %c' % (97, 98, 99) #元组的形式 29 a3='%d + %d = %d' % (4, 5, 4+5) # %s为格式化字符串;%d为格式化整数 30 a4='%f' % 27.658 #默认精确到小数点后六位,用0补充 31 print(a1,a2,a3,a4,"\n") 32 33 34 #格式化操作符辅助命令 35 #在m.n中,m是总长度,n是小数点后的位数 36 37 b1= '%5.1f'% 27.658 #以总长度为5,小数一位格式化输出,不足时左侧空格补位 38 b2= '%.2e' % 27.658 39 b3= '%-5d'% 5 #输出左对齐的整数,总长度为5; 默认右对齐 40 b4= '%+5d'% 5 #输出时,在正数前面显示加号(+) 41 b5= '%+5d'% -5 42 b6= '%#o'% 111 #符号#可以在八进制数前面显示'0o',在十六进制数前面显示'0x'或'0X' 43 b7= '%#x'% 111 44 b8= '%010d'% 5 #符号0可以使0来替代前面的空格 45 print(b1,b2,b3,"\n",b4,b5,b6,b7,b8,"\n") 46 47 48 #format() 49 #格式化字符串即 按照统一的规格输出成一个字符串 50 51 str2='{} {}'.format('hello', 'world') #不设置指定位置,按默认顺序 52 str3="{0} loves {1}".format("Daniel","Python1") #位置参数,以中括号为轮廓 53 str4="{a} loves {b}".format(a="Daniel",b="Python2") #关键字参数 54 str5="{0} loves {b}".format("Daniel",b="Python3") #位置和关键字参数一起使用时,位置在前,否则error 55 print(str2,"\n",str3,"\n",str4,"\n",str5,"\n") 56 57 str6="{{0}}".format("Daniel") #两个反斜杠相互抵消,0未被daniel替换 58 str7="{0:.1f}{1}".format(27.899," GB") #使用.1f控制定点数格式,保留一位小数,四舍五入 59 str8="{0:.2e}{1}".format(27.899," GB") #指数形式,小数保留两位 60 print(str6,"\n",str7,"\n",str8,"\n") #其中:表示格式化符号的开始 61 62 63 a='{:10d}'.format(12) #默认右对齐(宽度为10) 64 b='{:<10d}'.format(12) #以<左对齐(宽度为10) 65 c='{:^10d}'.format(12) #以^中间对齐(宽度为10) 66 print("a:",a,"b:",b,"c:",c) 67 68 d="{:0>5d}".format(5) #左边补零,总长度为5 69 e='{:x<5d}'.format(5) #右边补x,总长度为5 70 f='{:x>5d}'.format(10) #左边补x,总长度为5 71 print("d:",d,"e:",e,"f:",f) 72 73 g='{:,}'.format(1000000) #以逗号分隔,三位一分 74 h='{:.3%}'.format(0.25) #百分比形式,小数点后三位(默认6位) 75 i='{:.3e}'.format(1000000000) #指数形式,小数点后3位(默认6位) 76 print("g:",g,"h:",h,"i:",i,"\n") 77 78 79 a='{:b}'.format(11) #二进制 80 b='{:d}'.format(11) #十进制 81 print("11的2进制:",a, "11的10进制:",b) 82 83 c='{:o}'.format(11) #八进制 84 d='{:x}'.format(11) #十六进制 85 print("11的8进制:",c,"11的16进制:",d) 86 87 e='{:#x}'.format(110) #在前面加0x,且所有字符小写 88 f='{:#X}'.format(110) #在前面加0X,且所有字符大写 89 print("11的2进制:",e,"11的2进制:",f,"\n")