python字符串格式化

时间:2023-01-07 08:58:45

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