格式化字符串:%与.format
stevezhou 2014.10.27
%操作符
根据转换说明符所规定的格式返回一串格式化后的字符串,形式:
%[转换标记][宽度.[精度]]转换类型
转换标记
转换标记 | 说明 |
- | 表示左对齐 |
+ | 在正数这前加上'+' |
(a space) | 表示正数之前保留空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或'0X' |
0 | 表示转换值若位数不够则用0填充而非默认的空格 |
转换类型
转换类型 | 说明 |
---|---|
c | 转换为单个字符,对于数字将转换该值所对应的ASCII码 |
s | 转换为字符串,对于非字符串对象,将默认调用str()函数进行转换 |
r | 用repr()函数进行字符串转换 |
i d | 转换为带符号的十进制数 |
u | 转换为不带符号的十进制数 |
o | 转换为不带符号的八进制 |
x X | 转换为不带符号的十六进制 |
e E | 表示为科学计数法表示的浮点数 |
f F | 转成浮点数(小数部分自然截断) |
g G | 如果指数大于-4或者小于精度值则和e相同,其他情况与f相同 |
%示例
m=('bobo','jinf','tao')
rd={'name':'bobo','age':'27','addr':'shanghai'}
#直接格式化字符串
print '%s,%s,%s'%m
#元组形式
print '%s'%(m,) #m本身为元组的情况下,m后一定要有逗号
#字典形式
print 'Addr:%(addr)s,Name:%(name)s'%rd
#数字
print '%06.2f,%#x'%(45.1,45.1)
.format操作符
语法: [[填充符]对齐方式][符号][#][0][宽度][,][.精确度][转换类型],
其中‘填充符’可以以除"{"与"}"外的任意字符;
对齐方式
对齐方式 | 说明 |
---|---|
< | 左对齐,大多数对象默认的对齐方式 |
> | 右对齐,数值默认的对齐方式 |
= | 仅对数值型有效,如果有符号,在符号后数值前进行填充,如-000058 |
^ | 居中对齐,用空格进行填充 |
符号列表
符号 | 说明 |
---|---|
+ | 正数前加+,负数前加- |
- | 正数前不加符号,负数前加-,为数值的默认方式 |
空格 | 正数前加空格,负数前加- |
举例