python字符串格式化有两种方法一种是以格式化字符串"%"表示,另外一种是format函数格式化,后者怎么用我不清楚。
格式化操作符号
一般的格式化操作符有以下几种:
%c 转换成字符(ASCII 码值,或者长度为一的字符串)
%r 优先用repr()函数进行字符串转换
%s 优先用str()函数进行字符串转换
%d / %i 转成有符号十进制数
%u 转成无符号十进制数
%o 转成无符号八进制数
%x / %X 转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写)
%e / %E 转成科学计数法(e / E控制输出e / E)
%f / %F 转成浮点数(小数部分自然截断)
%g / %G %e和%f / %E和%F 的简写
%% 输出% (格式化字符串里面包括百分号,那么必须使用%%)
除了格式化操作符,我们在使用字符串格式化的过程中还需要用到格式化操作符辅助符
一般格式化操作符辅助符如下:
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号(+)
# 在八进制数前面显示零(0),在十六进制前面显示"0x"或者"0X"(取决于用的是"x"还是"X")
0 显示的数字前面填充"0"而不是默认的空格
(var) 映射变量(通常用来处理字段类型的参数)
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
我所熟悉的就三个 %s %d %f
简单转换案例:
1;#简单转换,以下用到的格式化符d选项,表示格式化一个整数,如果我这里转换一个处理整数的值,就会报错,例如一个字符串
ss = 'Price of eggs:$%d' % 42
print(ss)
##运行结果如下
Price of eggs:$42
2;将字符串加入进去
ss = 'Price of eggs:$%d' % "大大大大"
print(ss)
##报错信息如下:
Traceback (most recent call last):
File "D:/pythontest/mypython/day1/str.py", line 5, in <module>
ss = 'Price of eggs:$%d' % "大大大大"
TypeError: %d format: a number is required, not str
剩下的以后再理解。
本文出自 “常想一二” 博客,请务必保留此出处http://250919938.blog.51cto.com/962010/1905707