什么是全局格式()函数意味着什么?

Har*_*Har 3 python string-formatting

还有就是str.format()在python,我很熟悉但它不工作的方式相同的方法format()功能(全球内置).

全球format()职能的目的是什么?

Mar*_*ers 8

format()函数格式化一个值根据格式化规范.

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

换句话说,str.format()是建立在format()功能之上.str.format()运行在一个完整的格式字符串语法字符串,format()在匹配的值进行操作和应用只是格式化规范的迷你语言.

例如,在表达式中

'The hex value of {0:d} is {0:02x}'.format(42)
Run Code Online (Sandbox Code Playgroud)

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

format()如果要仅格式化单个值,请使用此功能,str.format()在要将格式化的值放在较大的字符串中时使用.

引擎盖下,format()委托给object.__format__方法,让本身的价值解读格式规范.str.format()直接调用该方法,但您不应该依赖于此.object.__format__是一个钩子,将来format()可能会对该钩子的结果应用更多的处理,或者预处理要传入的格式.这实际上是一个实现细节,只有你想为你的对象类型实现自己的格式化语言才有意思.

PEP-3101 高级字符串格式化为补充的原始提案str.format(),format()以及object.__format__钩的语言.