1.字符串格式化----%
原来的%:
In[2]: a=‘my name is %s and my age is %d‘%(‘eric‘,26) In[3]: a Out[3]: ‘my name is eric and my age is 26‘
占位符%:为真实值预留位置,并控制显示的格式。占位符可以包含有一个类型码,用以控制显示的类型,常用如下:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
2.字符串格式化---format:
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次。
新的,提倡的format方法:s.format(*args,**kwargs)
In[6]: print(‘my name is {0} and my age is {1}‘.format(‘song ruiwen‘,26)) my name is song ruiwen and my age is 26
print(‘my name is {name} and my age is {age} ‘.format(name=‘eric‘,age=26)) my name is eric and my age is 26
格式限定符:对应于%s, 控制类型和显示方式。
1.填充对齐方式::[填充字符][对齐方式 <^>][宽度]:
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
>>> ‘{0:*>10}‘.format(10) ##右对齐 ‘********10‘ >>> ‘{0:*<10}‘.format(10) ##左对齐 ‘10********‘ >>> ‘{0:*^10}‘.format(10) ##居中对齐 ‘****10****‘
2.精度与类型
b、d、o、x分别是二进制、十进制、八进制、十六进制。
>>> ‘{0:.2f}‘.format(1/3) ‘0.33‘ >>> ‘{0:b}‘.format(10) #二进制 ‘1010‘ >>> ‘{0:o}‘.format(10) #八进制 ‘12‘ >>> ‘{0:x}‘.format(10) #16进制 ‘a‘ >>> ‘{:,}‘.format(12369132698) #千分位格式化 ‘12,369,132,698‘
用,号还能用来做金额的千位分隔符。
In [47]: ‘{:,}‘.format(1234567890) Out[47]: ‘1,234,567,890‘
时间: 2024-10-29 08:59:23