快捷搜索:  as

Python基础教程:格式化字符串

1. 字符串款式化根基

字符串款式化相称于字符串模板。也便是说,假如一个字符串有一部分是固定的,而另一部分是动态变更的,那么就可以将固定的部分做成模板,然后那些动态变更的部分应用字符串款式化操作符(%) 调换。如一句问候语:“Hello 李宁”,此中“Hello”是固定的,但“李宁”可能变成任何一小我的名字,如“乔布斯”,以是在这个字符串中,“Hello”是固定的部分,而“李宁”是动态变更的部分,是以,必要用“%”操作符调换“李宁”,这样就形成了一个模板。

Hello %s

上面的代码中,“%”后面的s是什么呢?着实字符串款式化操作符后面必要随着动态值的数据类型,以及更细节的款式(如对付浮点数来说,小数点后要保留几位),这里的“%s”表示动态部分要被调换成字符串类型的值。假如在字符串模板中有多个要被调换的部分,必要按顺序用“%”表示,然后在款式化字符串时,传入的值也要相符这个顺序。例5.2为我们演示了款式化字符串的基础用法。

本例首先定义了一个字符串模板,然后传入了两个字符串类型的值来款式化字符串,着末将款式化后的字符串输出。

法度榜样运行结果如下图所示。

从上面的代码可以看出,不仅在为字符串模板指定款式化参数时要应用百分号(%),在款式化字符串时,也要像取模一样应用“%”操作符。还有便是指定字符串款式化参数值要应用元组,在这里不能应用列表。

在上图中,只是应用了字符串作为款式化参数,但在实际的利用中,可能会有其他类型的字符串款式化参数。假如碰到这种环境,可以应用str函数将这些数据类型的值转换为字符串类型的值,然后再传入字符串模板,这么做在大年夜多半环境下是可行的,但假如要对款式化参数值有更进一步的要求,光应用str函数就做不到了,这就要应用能表示这些数据类型的款式化参数,如“%f”表示浮点类型的款式化参数。

鄙人面代码的字符串模板中包孕了字符串、整数和浮点数类型的模板。

法度榜样的运行结果如下图所示。

在上面的代码中,为款式化字符串指定了不合数据类型的款式化参数。假如要在款式化字符串中显示百分号(%),就要应用两个百分号(%%)表示。当传入的参数值的数量与款式化参数的数量不匹配时,就会抛出非常。

模板字符串

在string模块中供给了一个用于款式化字符串的Template类,该类的功能是用同一个值调换所有相同的款式化参数。Template类的款式化参数用美元符号($)开首,后面随着款式化参数名称,相称于变量名。在款式化时,必要应用Template类的substitute措施,该措施用于指定款式化参数对应的值。

在上面的代码中,经由过程Template类的构造措施传入了一个款式化字符串,在这个款式化字符串中包孕了3个“KaTeX parse error: Expected 'EOF', got '”' at position 2: s”̲,然后调用了substitut…s”,就调换若干个“$s”。substitute措施还可以经由过程字典(见下一章)设置款式化参数的值。例5.4完备地演示了若何应用Template类款式化字符串。

应用Template款式化字符串,当款式化参数是一个字符串的一部分时,必要用一对大年夜括号({})将款式化参数变量括起来。

法度榜样运行结果如下图所示。

字符串的format措施

字符串本身也有一个format措施用于款式化当前的字符串。这个format措施和前面讲的款式化操作符(%)不太一样。字符串款式化参数并不是用百分号(%)表示,而是用一对大年夜括号({}),而且支持按顺序指定款式化参数值和关键字款式化参数。例如,下面的代码经由过程format措施按顺序为款式化字符串指定了参数值。

print("{}  {}  {}".format(1,2,3)) # 运行结果:1  2  3

我们可以看到,上面的代码在字符串中指定了3对空的大年夜括号,这代表3个款式化参数,不必要指定命据类型,可以向其通报Python说话支持的任何值。经由过程format措施传入3个值(1,2,3),这3个值会按顺序调换款式化字符串中的3对空的大年夜括号。

命名款式化参数是指在一对大年夜括号中指定一个名称,然后调用format措施时也要指定这个名称。

print("{a}  {b}  {c}".format(a =1,c =2,b =3)) # 运行结果:132

上面的代码在3对大年夜括号平分手添加了“a”、“b”、“c”。经由过程format措施指定了这3个关键字参数的值。我们可以看到,并没有按顺序指定关键字参数的值。这也是应用关键字参数的好处,只要名字精确,fomat参数的顺序可以随意率性指定。当然,顺序要领和关键字参数要领可以混杂应用,而且还可以指定顺序要领中款式化参数从format措施提取参数值的顺序,以致可以取format措施参数值的一部分。哇,接连抛出了这么多功能,可能很多读者有点应接不暇了,别发急,例5.5会为我们演示format措施的一些常用应用要领。

本例分手应用一对大年夜括号“{}”、命名款式化参数和顺序款式化参数3中要领款式化字符串。

法度榜样运行结果如下图所示。

您可能还会对下面的文章感兴趣: