python文档有关于
formatting strings语法的信息,但我似乎无法找到有关如何读取定义替换字段语法的表的信息.
replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}"
field_name ::= arg_name ("." attribute_name | "[" element_index "]")*
arg_name ::= [identifier | integer]
attribute_name ::= identifier
element_index ::= integer | index_string
index_string ::= +
conversion ::= "r" | "s" | "a"
format_spec ::=
我理解表的一部分,比如:: =分隔定义和定义,引号内的字符是文字,并且|意思是“或”,但桌子的其余部分逃脱了我.
最佳答案 这种格式就是所谓的Backus-Naur形式.
More information found on BNF here.基本上,BNF是一组推导规则.
定义符号:
>在中关闭的元符号:: =,|和类名以外的任何内容是被定义语言的符号(例如,这个Python示例)
>元符号:: =将被解释为“被定义为”
> |用于分隔替代定义,并被解释为“或”
>元符号是包含类名的分隔符.
一点点剖析这个例子来帮助你入门:
replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}"
field_name ::= arg_name ("." attribute_name | "[" element_index "]")*
replacement_field包含可选的field_name,可选的转换和可选的format_spec.括号([和])表示可选参数.
如果确实将field_name传递给replacement_field,则它由arg_name函数组成,在该函数中传递attribute_name或element_index.注意element_index是必需的,因为括号是引号,因此转义为可选的BNF表单.