Python基础-字符串练习

       常用字符串操作


  1. capitalize()  把字符串的第一个字符改为大写
  2. casefold()     把整个字符串的所有字符改为小写
  3. swapcase()  翻转字符串中的大小写。
  4. lower()    转换字符串中所有大写字符为小写。
  5. upper()   转换字符串中的所有小写字符为大写。

  1. center(width)                       将字符串居中,并使用空格填充至长度 width 的新字符串
  2. count(sub[, start[, end]])      返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
  3. encode(encoding='utf-8', errors='strict')   以 encoding 指定的编码格式对字符串进行编码。
  4. endswith(sub[, start[, end]])    检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
  5. expandtabs([tabsize=8])         把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
  6. find(sub[, start[, end]])           检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。
  7. rfind(sub[, start[, end]])          类似于 find() 方法,不过是从右边开始查找。
  8. index(sub[, start[, end]])         跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。
  9. rindex(sub[, start[, end]])        类似于 index() 方法,不过是从右边开始。 

  1. isalnum()     如果字符串至少有一个字符并且所有字符都是字母或数字,返回 True,否则返回 False。
  2. isalpha()      如果字符串至少有一个字符并且所有字符都是字母,返回 True,否则返回 False。
  3. isnumeric()  如果字符串中只包含数字字符,则返回 True,否则返回 False。
  4. isspace()      如果字符串中只包含空格,则返回 True,否则返回 False。
  5. isdigit()       如果字符串只包含数字,返回 True,否则返回 False。
  6. isdecimal()   如果字符串只包含十进制数字,返回 True,否则返回 False。
  7. istitle()        如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。
  8. islower()      如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,返回 True,否则返回 False。
  9. isupper()     如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。

  1. lstrip()               去掉字符串左边的所有空格
  2. rstrip()               删除串末尾的空格。
  3. strip([chars])      删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。
  4. join(sub)            字符串作为分隔符,插入到 sub 中所有的字符之间。
  5. ljust(width)        返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。
  6. rjust(width)        返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。
  7. zfill(width)          返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。
  8. partition(sub)     找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '')
  9. rpartition(sub)    类似于 partition() 方法,不过是从右边开始查找。 

  1. replace(old, new[, count])      把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
  2. split(sep=None, maxsplit=-1)       默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。
  3. splitlines(([keepends]))                结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。
  4. startswith(prefix[, start[, end]])    字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。
  5. title()                       返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
  6. 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") 

 

posted @ 2018-12-17 20:48  清风与归_G  阅读(277)  评论(0编辑  收藏  举报