字符串-格式化
1.format()--方法接受位置参数和关键字参数,二者均传递到一个叫做replacement字段。而replacement字段在字符串内由大括号 { } 表示。
位置参数:
name = '{0}80后,{1},{2}'.format('今晚','主持人','王自健')
print(name)
#今晚80后,主持人,王自健
关键字参数:
name = '{a}80后,{b},{c}'.format(a = '今晚',b = '主持人',c = '王自健')
print(name)
#今晚80后,主持人,王自健
位置参数和关键字参数混搭:*位置参数一定要放在关键字前面。
name = '{0}80后,{b},{c}'.format('今晚',b = '主持人',c = '王自健')
print(name)
#今晚80后,主持人,王自健
如果要把大括号打印出来,跟字符串转义字符有点像,只需要用多一层大括号包起来即可(要打印转义符( \),只需用转义符转移自身(\\)). 参数“不打印”也不会报错。
name = '{{0}}80后,{{b}},{c}'.format('今晚',b = '主持人',c = '王自健')
print(name)
#{0}80后,{b},王自健
位置参数 {1} 跟平常有些不同,后边多了个冒号(:)。在替换域中,冒号表示格式化符号的开始,“ .3”的意思是四舍五入到保留两位小数点,而 f 的伊苏是浮点数,所以按照格式化符号的要求打印除了3.14
name = '{0}:{1:.3f}'.format("圆周率",3.14159)
print(name)
#圆周率:3.142
2. 格式化操作符 : %
当 % 的左右均为数字的时候,那么它表示求余数的操作;但当它出现在字符中的时候,他表示的是格式化操作符。
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 根据值得大小决定使用%f 或者%e |
%G | %f 和 %E 的简写 根据值得大小决定使用%f 或者%E |
%p | 用十六进制数格式化变量的地址 |
% | '%%'输出一个单一的'%' |
格式化操作符辅助指令:
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
print('%s,%d,%s'%("88a",35,"你好"))
#88a,35,你好
print('%10.1f'%27.265)
# 27.3
print('%-10.1f'%27.265)
#27.3 #
print('%010.1f'%27.265)
#00000027.3
Python的转义字符以含义
\n 换行符
\t 横向制表符(tab)
\v 纵向制表符
\r 回车符
\f 换页符
\0 表示一个空格
\\ 反斜杠
\o 八进制数代表的字符
\x 十六进制数代表的字符