Python之Character string(2)

 

>>> print("ascii:%c"%'s') #格式化输出字符 ascii:s >>> print("ascii:%c"%'1') #格式化输出数字 ascii:1 >>> print("str:%s"%'character string') #格式化字符串 str:character string >>> print("str:%d"%888) #格式化整数 str:888 >>> print("str:%f"%888) #格式浮点数 str:888.000000 >>> print("str:%e"%888) #格式化科学计数浮点数 str:8.880000e+02 >>> print("str:%E"%888) #同上 str:8.880000E+02 >>> print("str:%G"%888) #%f和%E的简写 str:888 >>> print("str:%20f"%888.089) #定义20宽度输出 str: 888.089000 >>> print("str:%-20f"%888.089) #用左对齐 str:888.089000 >>> print("str:%+20f"%888.089) #在正数前显示加号 str: +888.089000 >>> print("str:%+-20f"%888.089) #左对齐显示加号 str:+888.089000 >>> print("str:%020f"%888.089) #以0填充默认的空格 str:0000000000888.089000 >>> print("str:%%%20f"%888.089) #在数字前输入%号 str:% 888.089000 >>> print("str:%%%-20f"%888.089) #左对齐输出%号 str:%888.089000 >>> print("str:%20.3f"%888.089) #显示最小总宽度20,小数点后位数为3位 str: 888.089

自python2.6开始,增加格式化字符串函数str.format():

用法:它通过{}和:来代替%

位置参数不受顺序约束,且可以为{}空,只要format里有相对应的参数值即可,如参数值不够就会报错,参数索引从0开,传入位置参数列表可用*列表

In [27]: '{}+{}={}'.format(1,2,3) #格式化按顺序应用参数值 Out[27]: '1+2=3' In [28]: '{2}-{1}={0}'.format(1,2,3) #指定顺序应用参数值 Out[28]: '3-2=1' In [29]: '{0}+{0}={1}'.format(2,3) #指定参数可以重复使用 Out[29]: '2+2=3' In [30]: '{}+{}={}'.format(2,3) #如不指定顺序,format参数不够就会报错 --------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-30-29f40e412920> in <module>() ----> 1 '{}+{}={}'.format(2,3) IndexError: tuple index out of range In [31]: l1 = [2,4,8] In [32]: '{}*{}={}'.format(*l1) #使用列表引用参数值 Out[32]: '2*4=8' In [33]: dct = {'name':'python','age':20} #定义字典 In [35]: 'welcom to {name},age is {age}'.format(name='qi',age=28) #变量引用 Out[35]: 'welcom to qi,age is 28' In [36]: 'welcom to {name},age is {age}'.format(**dct) #使用**引用字典参数必须填写key值 Out[36]: 'welcom to python,age is 20' 填充与格式化: In [53]: "{0: >20}".format("string") #从0位开始已空格填充20宽度左对齐 Out[53]: ' string' In [54]: "{0:&>20}".format("string") Out[54]: '&&&&&&&&&&&&&&string' In [55]: "{0:#>20}".format("string") #使用#号会有个小bug ....: Out[55]: '##############string' In [60]: '{0:+<20}'.format("string") #向右对齐填充+ Out[60]: 'string++++++++++++++' In [61]: '{0:+^20}'.format("string") #剧中对齐填充+ Out[61]: '+++++++string+++++++' 精度与进制: >>> '{0:.3f}'.format(10/3) #小数位进度格式化 '3.333' >>> '{0:b}'.format(8) #格式化二进制 '1000' >>> '{0:o}'.format(9) #格式化八进制 '11' >>> '{0:x}'.format(26) #格式化十六进制 '1a' >>> '{0:,}'.format(123456789) #千分位格式化 '123,456,789' 使用索引: >>> l2 = ['AA',{'bb':'cc'},('d','e')] #列表索引引用 >>> 'outing:{0[0]}'.format(l2) 'outing:AA' >>> 'outing:{0[0]},{0[1]}'.format(l2) #将列表当成一个元素,在其中索引值 "outing:AA,{'bb': 'cc'}"

5、python的字符串方法

>>> s = 'i mi to'    #将字符串的第一个字符改为大写
>>> s.capitalize()
'I mi to'

>>> s = 'I MI TO'  #将字符串所有字符改为小写
>>> s.casefold()
'i mi to'

>>> s.center(15)  #将字符串剧中,并用空格将字符串填充长度,如指定长度小于实际长度则没有效果
'    I MI TO    '

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cd789a0e59f9c6d7d518810bab100b9f.html