jfgdf 发表于 2017-3-13 14:28:28

python字符串格式化

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
剩下的以后再理解。


页: [1]
查看完整版本: python字符串格式化