Python基本 – 字符串名目化 (%操纵符)
当前位置:以往代写 > Python教程 >Python基本 – 字符串名目化 (%操纵符)
2019-06-14

Python基本 – 字符串名目化 (%操纵符)

Python基本 – 字符串名目化 (%操纵符)

在很多编程语言中都包括有名目化字符串的成果,好比C和Fortran语言中的名目化输入输出。在Python中内置有对字符串举办名目化的操纵符是"%"。

模板

名目化字符串时,Python利用一个字符串作为模板。模板中有名目符,这些名目符为真实值预留位置,并说明真实数值应该泛起的名目。Python用一个tuple将多个值通报给模板,每个值对应一个名目符。

好比下面的例子:

print("I'm %s. I'm %d" % ('Pythontab', 1))

上面的例子中,

"I'm %s. I'm %d"为我们的模板。%s为第一个名目符,暗示一个字符串。%d为第二个名目符,暗示一个整数。('Pythontab',99)的两个元素'Pythontab'和99为替换%s和%d的真实值。

在模板和tuple之间,有一个%号脱离,它代表了名目化操纵。

整个"I'm %s. I'm %d" % ('Pythontab', 1) 实际上组成一个字符串表达式。我们可以像一个正常的字符串那样,将它赋值给某个变量。好比:

a = "I'm %s. I'm %d" % ('Pythontab', 1)

print(a)

功效是:I'm Pythontab. I'm 1

我们还可以用辞书来通报真实值。如下:

print("I'm %(name)s. I'm %(age)d" % {'name':'Pythontab', 'age':99})

可以看到,我们对两个名目符举办了定名。定名利用()括起来。每个定名对应辞书的一个key。

名目符

名目符为真实值预留位置,并节制显示的名目。名目符可以包括有一个范例码,用以节制显示的范例,如下:

%s    字符串 (回收str()的显示)

%r    字符串 (回收repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上沟通

%g    指数(e)或浮点数 (按照显示长度)

%G    指数(E)或浮点数 (按照显示长度)

%%    字符"%"

可以用如下的方法,对名目举办进一步的节制:

%[(name)][flags][width].[precision]typecode

(name)为定名

flags可以有+,-,' '或0。+暗示右对齐。-暗示左对齐。' '为一个空格,暗示在正数的左侧填充一个空格,从而与负数对齐。0暗示利用0填充。

width暗示显示宽度

precision暗示小数点后精度

好比:

print("%+10x" % 10)

print("%04d" % 5)

print("%6.3f" % 2.3)

上面的width, precision为两个整数。我们可以操作*,来动态代入这两个量。好比:

print("%.*f" % (4, 1.2))

Python实际上用4来替换*。所以实际的模板为"%.4f"。

总结

Python中内置的%操纵符可用于名目化字符串操纵,节制字符串的泛起名目。Python中尚有其他的名目化字符串的方法,但%操纵符的利用是最利便的。

    关键字:

在线提交作业