编辑这个页面须要登录或更高权限!

Python format() 使用方法及示例

Python 内置函数

内置的format()方法把指定值格式化为指定格式。

format()方法类似于String格式方法。在内部,这两种方法都调用对象的__format __()方法。

内置format()方法是内部使用__format __()格式化对象的底层实现,而字符串format()是能够对多个对象字符串执行复杂格式化操作的高级实现。

format()的语法为:

format(value[, format_spec])

format()参数

format()方法采用两个参数:

  • value -需要格式化的值

  • format_spec-有关如何设置值格式的规范。

格式说明符可以采用以下格式:

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

您可以了解有关格式类型对齐方式的更多信息。

format()返回值

format()方法把指定值格式化为指定格式。

示例1:使用format()格式化数字

# d,f和b是类型

# 整数
print(format(123, "d"))

# 浮点参数
print(format(123.4567898, "f"))

# 二进制参数
print(format(12, "b"))

运行该程序时,输出为:

123
123.456790
1100

示例2:使用填充,对齐,符号,宽度,精度和类型的数字格式

# 整数
print(format(1234, "*>+7,d"))

# 浮点参数
print(format(123.4567, "^-09.3f"))

运行该程序时,输出为:

*+1,234
0123.4570

在这里,当格式化整数1234时,我们指定了格式化说明符* <+ 7,d。让我们查看每个选项的意义:

  • * -是填充字符,用于在格式化后填充空白

  • > -这是右对齐选项,可将输出字符串右对齐

  • + -这是一个符号选项,用于强制对数字进行签名(其左侧带有一个符号)

  • 7-宽度选项可强制数字采用最小宽度7,其他空格将由填充字符填充

  • -千位运算符在所有千位之间放置逗号。

  • d -它是类型选项,用于指定数字为整数。

格式化浮点数123.4567时,我们指定了格式说明符^ -09.3f。这些是:

  • ^ -这是居中对齐选项,可将输出字符串对齐到剩余空间的中心

  • --该符号选项仅强制使用负数来显示符号

  • 0-它是代替空白的字符。

  • 9-使用width选项将数字的最小宽度设置为9(包括小数点,千位逗号和符号)

  • .3-精度运算符将给定浮点数的精度设置为3位

  • f -它是类型选项,用于指定数字为浮点数。

示例3:通过重写__format __()使用format()

# 自定义__format __()方法
class Person:
    def __format__(self, format):
        if(format == 'age'):
            return '23'
        return 'None'

print(format(Person(), "age"))

运行该程序时,输出为:

23

在这里,我们重写了Person类的__format __()方法。

现在,它接受参数code> age以返回23。如果未指定格式,则返回None。

format()方法在内部运行Person().__format__("age")返回23。

Python 内置函数

Python 基础教程
Python 流程控制
Python 函数
Python 数据类型
Python 文件操作
Python 对象和类
Python 日期和时间
Python 高级知识
Python 参考手册