python字符串总结

总结一下在学习过程中遇到的字符串问题。


格式化操作符(%)

"%"是Python风格的字符串格式化操作符
%r——优先用repr()函数进行字符串转换
%s——优先用str()函数进行字符串转换
%d / %i——转成有符号十进制数
%u——转成无符号十进制数
%o——转成无符号八进制数
%f / %F——转成浮点数(小数部分自然截断)


格式化操作符辅助符

-——用做左对齐
m.n——m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
#——在八进制数前面显示零(0),在十六进制前面显示"0x"或者"0X"(取决 于用的是"x"还是"X")


字符串内建函数format()

格式化字符串函数str.format(),通过这个函数同样可以对字符串进行格式化处理。在format()函数中,使用“{}”符号来当作格式化操作符。

  1. 位置参数
    根据format()里边的参数位置进行索引
    print "{0} is {1} years old".format("Wilber", 28)
    print "{} is {} years old".format("Wilber", 28)
    print "Hi, {0}! {0} is {1} years old".format("Wilber", 28)
  2. 关键字参数
    print "{name} is {age} years old".format(name = "Wilber", age = 28)
  3. 下标参数
    li = ["Wilber", 28]
    print "{0[0]} is {0[1]} years old".format(li)
  4. 填充字符
    格式{:填充符 格式符 宽度}.format(…)
    后跟填充字符,不指定默认为空格填充,格式符有三种:^<>分别表示居中、左对齐和右对齐,且只能是一个字符,格式符后跟宽度
    print '{:>8}'.format('3.14')
    print '{:0>8}'.format('3.14')
    还可以用来表示浮点精度:
    print '{:.4f}'.format(3.1415926)
    print '{:0>10.4f}'.format(3.1415926)

字符串内建函数

其中S均表示任意一个字符串

  • 小写
    S.lower()

  • 大写
    S.upper()

  • 大小写互换
    S.swapcase()

  • 首字母大写
    S.capitalize()

  • 输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。
    S.ljust(width,[fillchar])

  • 右对齐
    S.rjust(width,[fillchar])

  • 中间对齐
    S.center(width, [fillchar])

  • 返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
    S.find(substr, [start, [end]])

  • 返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号
    S.rfind(substr, [start, [end]])

  • 计算substr在S中出现的次数
    S.count(substr, [start, [end]])

  • 把S中的oldstar替换为newstr,count为替换次数
    S.replace(oldstr, newstr, [count])

  • 把S中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None
    S.strip([chars])
    S.lstrip([chars])
    S.rstrip([chars])

  • 以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
    S.split([sep, [maxsplit]])

  • 把seq代表的字符串序列,用S连接起来
    S.join(seq)

你可能感兴趣的:(python字符串总结)