Python 字符串格式化,%格式符,大家举例看看,Python字符串格式化输出的方式
今天我用C#写程序操作Excel,读取单元格的内容并按照要求的格式生成字符串,使用的是字符串。Format(字符串格式,对象Arg0)方法。以前,只有“{0}”被称为索引占位符(即格式项),对应于参数列表中的第一个对象。格式化过程将每个格式项替换为相应对象值的文本表示。但这一次,参数对象的格式应该是一对花括号,也就是返回字符串“{ object arg 0的文本表示}”。
//直接增加括号
字符串。格式( {{0}} ,1);//{0}
如果使用上面的语句,则无法得到所需的结果“{1}”,因为左大括号和右大括号被解释为格式项的开始和结束。如果要在format参数中指定花括号字符,必须使用转义序列来显示文本的左花括号和右花括号。在格式化字符串中,该转义字符是大括号本身。因此,在固定文本中,指定两个左大括号(" {{ ")以显示一个左大括号(" { "),或者指定两个右大括号(" }} ")以显示一个右大括号(" } ")。
//这个例子的正确方式
字符串。格式( {{{0}} ,1);//{1}
按照格式中遇到花括号的顺序解释花括号。不支持解释嵌套大括号。虽然上面可以得到正确的结果,但是转义花括号的解释会导致意想不到的结果。例如,假设格式项“{{ {0: d}}”显示一个左大括号、一个格式化为十进制数的数值和一个右大括号。但是,格式项实际上解释如下:
1.前两个左大括号( {{ )被转义以生成一个左大括号;
2.以下三个字符(“{0:”)被解释为格式项的开头。
3.下一个字符( d )将被解释为十进制标准数字格式说明符,但是后面的两个转义花括号( }} )将生成一个花括号。因为所获得的字符串( D} )不是标准的数字格式说明符号,所以所获得的字符串将被解释为用于显示字符串" D} "的自定义格式字符串。
4.最后一个大括号(“}”)被解释为格式项的结尾。
5.显示的最终结果是字符串“{D}”。应该格式化的值将不会显示。
编写代码时,避免曲解转义大括号和格式项的一种方法是分别格式化大括号和格式项。即在第一次格式化操作中显示文本的左花括号,在下一次操作中显示格式项的结果,然后在最后一次操作中显示文本的右花括号。
//正确的形式
字符串。格式(“{0}{1}{2}”,“{”,1,“}”);//{1}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。