gpt4 book ai didi

python - global format() 函数的用途是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:16 24 4
gpt4 key购买 nike

python 中有一个我熟悉的 str.format() 方法,但是它的工作方式与 format() 函数不同(全局-内置)。

全局 format() 函数的用途是什么?

最佳答案

format() function根据格式化规范格式化一个值

str.format() method解析出一个模板,然后格式化各个值。每个 {value_reference:format_spec} 说明符基本上都应用于匹配的值使用 format() 函数,如 format(referenced_value, format_spec).

换句话说,str.format() 是建立在format() 函数之上的。 str.format() 在一个完整的 Format String Syntax string 上运行, format() 对匹配值进行操作并仅应用 Format Specification Mini-Language .

例如,在表达式中

'The hex value of {0:d} is {0:02x}'.format(42)

模板字符串有两个模板插槽,它们都将相同的参数格式化为str.format() 方法。第一个插入 format(42, 'd') 的输出,另一个插入 format(42, '02x')。请注意,两种情况下的第二个参数都是格式说明符,例如模板占位符中 : 冒号 之后的所有内容。

当您只想格式化单个值时使用 format() 函数,当您想要将该格式化值放入更大的值时使用 str.format()字符串。

在底层,format() 委托(delegate)给 object.__format__ 方法让值本身解释格式化规范。 str.format() 直接调用该方法,但您不应该依赖它object.__format__ 是一个hook,以后format()可能会对那个hook的结果进行更多的处理,或者对传入的格式进行预处理。这就是全部一个真正的实现细节,只有当你想为你的对象类型实现你自己的格式化语言时才有趣。

参见 PEP-3101 Advanced String Formatting对于将 str.format()format()object.__format__ 钩子(Hook)添加到语言的原始提案。

关于python - global format() 函数的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35060732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com