Python-字符串格式方法

时间:2020-02-23 14:43:25  来源:igfitidea点击:

在本教程中,我们将学习Python中的字符串格式方法。

在Python中,我们获得了format方法,该方法允许我们通过在字符串中不同位置替换多个值来格式化字符串。

单值替代

通过将" {}"放入字符串中,然后调用" format()"方法来工作。

语法

{}.format(value)

其中" {}"是一个占位符,由"值"替代。

"值"可以是字符,字符串,整数,浮点数,甚至是变量。

在下面的示例中,我们将格式化给定的字符串。

# string format
str = "Hello {}".format("World")

# output
print(str)            # Hello World

在上面的代码中,值" World"将插入在字符串"" Hello {}""中的" {}"位置。

示例:替换变量

在下面的示例中,我们将给定字符串中的变量值替换。

# string
s = "World"

# string format
str = "Hello {}".format(s)

# output
print(str)            # Hello World

多值替代

我们可以在字符串中放置多个{},然后使用format方法替换一个以上的值。

语法

{}{}{}.format(value1, value2, value3)

在以上语法中,我们在三个位置处替换了3个值。

在下面的示例中,我们在给定的字符串中替换了3个值。

# string formatting
str = "The quick {} fox {} over {} lazy dog.".format("brown", "jumps", "the")

# output
print(str)

对于上面的代码,我们将获得以下输出。

The quick brown fox jumps over the lazy dog.

位置替换

我们可以像{i}这样设置位置编号,它会被format方法中第i个位置的值代替。

语法

{0}{1}{2}.format(value0, value1, value2)

在上述语法中,将在占位符" {0}"处插入" value0"。

" value1"将插入到占位符" {1}"," value2"将插入到占位符" {2}"。

索引号从0开始。

在下面的示例中,我们将替换两个位置的值。

# string formatting
str = "The quick brown {0} jumps over the lazy {1}.".format("fox", "dog")

# output
print(str)

在上面的Python程序中,将值fox插入位置" {0}",将值" dog"插入位置" {1}"。

另一个例子

在下面的示例中,我们将替换三个位置的值。

# string formatting
str = "The quick {2} {0} jumps over the lazy {1}.".format("fox", "dog", "brown")

# output
print(str)     # The quick brown fox jumps over the lazy dog.

插入按以下顺序进行。

{0} --> fox
{1} --> dog
{2} --> brown

特定领域的替代

经过"转换"后,"值"将替换为"位置"。

{position:conversion}.format(value)

以下是一些转换类型。

转换说明
s字符串
d整数(以10为底)
f浮点数
b二进制
o八进制
x小写字母的十六进制
X大写字母的十六进制
e指数符号

在下面的Python程序中,将使用format方法替换值。

print("Hello {0:s}!!!".format("World"))             # Hello World!!!

print("This is an integer {0:d}".format(10))        # This is an integer 10

print("Float value {0:f}".format(123.4567))         # Float value 123.456700

print("Float value {0:.2f}".format(123.4567))       # Float value 123.46

print("Binary value {0:b}".format(12))              # Binary value 1100

print("Octal value {0:o}".format(12))               # Octal value 14

print("Hex lower case {0:x}".format(29))            # Hex lower case 1d

print("Hex upper case {0:X}".format(29))            # Hex upper case 1D