文章目录
- %运算符形式
- format函数
%运算符形式
形式
格式字符串 % (值1,值2,...)
格式字符串包括:固定文本和格式说明符
格式说明符语法
% [(key)][flags][width][.precision][Length]type
[ ]里的为可选
key: 映射键(如(参数是字典)的键)‘%(lang)s’
flags: 为修改输出格式的字符集
width: 为最小宽度,如果为则使用下一个参数值
precision: 为精度,如果为,则使用下一个参数值
Length: 为修饰符(h,l或L),Python忽略该字符
type: 为格式化类型字符
flags | ||
’0’ | 数值类型格式化结果左边用0填充 | |
’-’ | 结果左对齐 | |
’ ’ | 对于正值,结果中将包括一个前导空格 | |
’+’ | 数值结果总是包括一个符号(+或-) | |
’#’ | 使用另一种格式转换(与type输出有关) | |
type | ||
%d或%i | 有符号整数(十进制数) | |
%o | 有符号整数(八进制) | |
%u | 同%d(已过时) | |
%x或%X | 有符号整数(16进制数),当flags=’#’时,输出前缀’0x’(或‘0X’) | |
%e或%E | 浮点数字(科学计数法),当flags=’#’时,总是带小数点 | |
%f或%F | 浮点数字(用小数点符号)当flags=’#’时,总是带小数点 | |
%g或%G | 浮点数字(根据数值大小采用%e或%f)当flags=’#’时,总是带小数点,保留后面的0 | |
%c | 字符及其ASCII码 | |
%r | 字符串,使用转换函数repr(),当flags=’#’且指定precision时 截取precision个字符 | |
%s | 字符串,使用转换函数str(),当flags=’#’且指定precision时 截取precision个字符 | |
%a | 字符串,使用转换函数ascii(),当flags=’#’且指定precision时 截取precision个字符 |
format函数
format(value) #等同于str(value)
format(value,format_spec) #等同于type(value).__format__(format_spec)
格式说明符(format_spec)的基本格式如下
[[fill]align][sign][#][0][width][,][.precision][type]
例子
>>> format(3.123,'=+#010.5f')
'+003.12300'
>>> format(20,'#0x')
'0x14'
fill(可选): 为填充字符,不能是{}
align:为对其方式(”<”左对齐,”>”右对齐,”^”居中对齐,”=”填充位于符号和数字之间,如’+000000120’)
sign(可选): 为符号字符,包括”+”,”-”。(正数带空格,负数带”-”)
#(可选): 使用另一种格式
0(可选): 为数值类型格式化结果左边用0填充
width(可选): 最小宽度
precision(可选): 精度,针对浮点数
type: 是格式化类型字符
说明 | |
b | 二进制 |
c | 字符,整数转换为对应的unicode |
d | 十进制数 |
o | 八进制数 |
x或X | 16进制数,当标识符为#时,输出前缀”0x”或0X |
e或E | 浮点数字(科学计数法)当标识符为#时,总是带小数点 |
f或F | 浮点数字(用小数点符号),当标识符为#时,总是带小数点 |
g或G | 浮点数字(根据值得大小采用e或f)当标识符为#时,总是带小数点,且保留后面的0 |
n | 数值,使用本地千分位分隔符 |
s | 字符串,使用转换函数str(),当标识符为#且指定precision时截取precision个字符 |
% | 百分比 |
_ | 十进制千分位分隔符或二进制4位分隔符 |
字符串的format方法
str.format(格式字符串,值1,值2,...) #类方法
格式字符串.format(值1,值2,...) #对象方法
格式字符串.format_map(mapping)
格式说明符的语法如下
{[索引和键]: format_spec}