约 2716 字

约 14 分钟

#Python 的内置函数 format

说明:将对象格式化为字符串。

#函数说明

def format(obj, format_spec=''):
    '''
    将 obj 格式化成字符串

    :param obj: 一个变量
    :param format_spec: 格式
    :return: 格式化后的字符串
    '''

说明

通过调用对象的 __format__ 方法,将对象格式化为字符串。

参数

  • value - 要格式化的对象
  • format_spec - 格式规格描述,参考下方的 格式说明。

返回值

格式化后的字符串。

#示例

示例:

# 数字格式化
print(format(1000000, ","))     # 使用逗号分隔,输出: '1,000,000'

print(format(3.14159, ".2g"))   # 保留两位有效数字,输出: '3.1'
print(format(3.14159, ".2f"))   # 保留两位小数,输出: '3.14'

print(format(5.15, ".4g"))      # 保留四位有效数字,输出: '5.15'
print(format(5.15, ".4f"))      # 保留四位小数(补0),输出: '5.1500'

# 对齐
print(format("hello", "^10"))   # 居中对齐,宽度10,输出: '  hello   '
print(format("hello", "<10"))   # 左对齐,宽度10,输出: 'hello     '
print(format("hello", ">10"))   # 又对齐,宽度10,输出: '     hello'
print(format(42, "05d"))        # 用0填充,宽度5,输出: '00042'

# 填充
print(format(42, "05d"))        # 用0填充,宽度5,输出: '00042'

# 进制转换
print(format(10, "b"))          # 输出: '1010' (二进制)
print(format(255, "x"))         # 输出: 'ff' (十六进制小写)

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#格式

format_spec ::= [options][width][grouping]["." precision][type]
options     ::= [[fill]align][sign]["z"]["#"]["0"]
fill        ::= <any character>
align       ::= "<" | ">" | "=" | "^"
sign        ::= "+" | "-" | " "
width       ::= digit+
grouping    ::= "," | "_"
precision   ::= digit+
type        ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g"
                | "G" | "n" | "o" | "s" | "x" | "X" | "%"

#对齐选项

选项说明
<左对齐(默认)
>右对齐(数值类型默认)
=填充对齐
^居中对齐

#符号选项

选项说明
+正负数均显示符号
-仅负数显示负号(默认)
(空格)正数添加前导空格,负数显示负号

#分隔选项

选项说明
,使用逗号分隔,默认每 3 位数插入一个分隔符
_使用下划线分隔,默认每 3 位数插入一个分隔符

#整数选项

选项说明
b二进制
d十进制
o八进制
x十六进制,字母小写
X十六进制,字母大写
n同 d,但使用分隔符时按照当前语言区域插入,例如中文每 4 位数插入一个分隔符
c在打印之前将整数转换为相应的unicode字符

#浮点数选项

选项说明
e科学计数法,字母小写
E科学计数法,字母大写
f定点表示法,默认 6 位小数,字母小写
F定点表示法,默认 6 位小数,字母大写
g常规格式,字母小写
G常规格式,字母大写
n同 g,但使用分隔符时按照当前语言区域插入,例如中文每 4 位数插入一个分隔符
%百分比,数字将乘以 100 并显示为 f 格式,后面添加百分号

#推荐阅读

更新: 2026/3/6

作者: PlanC

创建: 2025/6/9