鱼C论坛

 找回密码
 立即注册
查看: 2022|回复: 0

[学习笔记] A-08-字符串练习

[复制链接]
发表于 2018-7-11 15:04:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 高渐飞 于 2018-7-16 15:25 编辑

   常用字符串操作


  • 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') 定制)转换字符串中的字符。
    以上来源于 [扩展阅读] 字符串的方法及注释 ttp://bbs.fishc.org/forum.php?mod=viewthread&tid=38992&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403




  1. str1="hello,daniel"
  2. print(str1[:6])
  3. print(str1[3])   #对元素进行索引时必须为中括号[]

  4. #元素的修改
  5. str2=str1[:5]+",insert"+str1[5:]   #直接使用引号插入即可
  6. print(str2)                        #在元组中插入元素时,还需小括号和逗号,三者缺一不可


  7. #字符串格式化符号

  8. """
  9. %c 格式化字符及其ASCII码
  10. %s 格式化字符串
  11. %d 格式化整数
  12. %o 格式化无符号八进制数
  13. %x 格式化无符号十六进制数
  14. %X 格式化无符号十六进制数(大写)
  15. %f 格式化浮点数字,可指定小数点后的精度

  16. %e 用科学计数法格式化浮点数
  17. %E 作用同%e,用科学计数法格式化浮点数
  18. %g 根据值的大小决定使用%f或%e
  19. %G 作用同 %g,根据值的大小决定使用%f或%E
  20. """

  21. a1='%c' % 97       # 格式化字符及其ASCII码
  22. a2='%c %c %c' % (97, 98, 99)    #元组的形式
  23. a3='%d + %d = %d' % (4, 5, 4+5)   # %s为格式化字符串;%d为格式化整数
  24. a4='%f' % 27.658                 #默认精确到小数点后六位,用0补充
  25. print(a1,a2,a3,a4,"\n")


  26. #格式化操作符辅助命令
  27. #在m.n中,m是总长度,n是小数点后的位数

  28. b1= '%5.1f'% 27.658   #以总长度为5,小数一位格式化输出,不足时左侧空格补位
  29. b2= '%.2e' % 27.658
  30. b3= '%-5d'% 5   #输出左对齐的整数,总长度为5; 默认右对齐
  31. b4= '%+5d'% 5   #输出时,在正数前面显示加号(+)
  32. b5= '%+5d'% -5
  33. b6= '%#o'% 111  #符号#可以在八进制数前面显示'0o',在十六进制数前面显示'0x'或'0X'
  34. b7= '%#x'% 111
  35. b8= '%010d'% 5   #符号0可以使0来替代前面的空格
  36. print(b1,b2,b3,"\n",b4,b5,b6,b7,b8,"\n")


  37. #format()
  38. #格式化字符串即 按照统一的规格输出成一个字符串

  39. str2='{} {}'.format('hello', 'world')                     #不设置指定位置,按默认顺序
  40. str3="{0} loves {1}".format("Daniel","Python1")      #位置参数,以中括号为轮廓
  41. str4="{a} loves {b}".format(a="Daniel",b="Python2")  #关键字参数
  42. str5="{0} loves {b}".format("Daniel",b="Python3")    #位置和关键字参数一起使用时,位置在前,否则error
  43. print(str2,"\n",str3,"\n",str4,"\n",str5,"\n")   

  44. str6="{{0}}".format("Daniel")  #两个反斜杠相互抵消,0未被daniel替换
  45. str7="{0:.1f}{1}".format(27.899," GB")  #使用.1f控制定点数格式,保留一位小数,四舍五入
  46. str8="{0:.2e}{1}".format(27.899," GB")  #指数形式,小数保留两位
  47. print(str6,"\n",str7,"\n",str8,"\n")              #其中:表示格式化符号的开始


  48. a='{:10d}'.format(12)              #默认右对齐(宽度为10)
  49. b='{:<10d}'.format(12)             #以<左对齐(宽度为10)
  50. c='{:^10d}'.format(12)             #以^中间对齐(宽度为10)
  51. print("a:",a,"b:",b,"c:",c)

  52. d="{:0>5d}".format(5)           #左边补零,总长度为5
  53. e='{:x<5d}'.format(5)           #右边补x,总长度为5
  54. f='{:x>5d}'.format(10)          #左边补x,总长度为5
  55. print("d:",d,"e:",e,"f:",f)

  56. g='{:,}'.format(1000000)             #以逗号分隔,三位一分
  57. h='{:.3%}'.format(0.25)              #百分比形式,小数点后三位(默认6位)
  58. i='{:.3e}'.format(1000000000)        #指数形式,小数点后3位(默认6位)
  59. print("g:",g,"h:",h,"i:",i,"\n")


  60. a='{:b}'.format(11)         #二进制
  61. b='{:d}'.format(11)         #十进制
  62. print("11的2进制:",a, "11的10进制:",b)

  63. c='{:o}'.format(11)         #八进制
  64. d='{:x}'.format(11)         #十六进制
  65. print("11的8进制:",c,"11的16进制:",d)

  66. e='{:#x}'.format(110)       #在前面加0x,且所有字符小写      
  67. f='{:#X}'.format(110)       #在前面加0X,且所有字符大写
  68. print("11的2进制:",e,"11的2进制:",f,"\n")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-21 16:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表