python格式化输出

1. Python格式化输出介绍

Python是一种强大而灵活的编程语言。其中一个与众不同的特点是它具有非常强大的格式化输出功能。格式化输出是指将变量或数据转换为指定的字符串格式,并将其输出到标准输出或文件。Python提供了多种方式来实现格式化输出,包括字符串插值、格式字符串、模板字符串等等。本篇文章将会详细介绍Python中的这些格式化输出方法。

2. 字符串插值

字符串插值是Python中最简单的格式化输出方法。它使用一对花括号{}来表示要插入变量或数据的位置,并在花括号中使用变量或数据的名称。可以使用"+"符号连接多个字符串。例如:

name = "张三"

age = 18

print("我叫" + name + ",今年" + str(age) + "岁。")

上面的代码中,首先定义了name和age两个变量,然后使用字符串连接符将它们与其他字符串拼接在一起,最终输出“我叫张三,今年18岁。”。

2.1 使用f-string实现字符串插值

Python3.6版本引入了一种新的字符串插值方式——f-string。它使用一对花括号{}来表示要插入变量或数据的位置,并在花括号中使用变量或数据的名称。不同的是,在花括号前加上一个f字符。

name = "张三"

age = 18

print(f"我叫{name},今年{age}岁。")

使用f-string的方式不仅更简洁,而且更易读。

2.2 数字格式化

在使用字符串插值时,也可以对数字进行格式化输出。通过在花括号中添加冒号:和格式控制符,可以实现不同的数字格式化效果。

例如,可以使用{:d}控制符将整数显示为十进制整数:

age = 18

print(f"我今年{age:d}岁。")

可以使用{:f}控制符将浮点数显示为定点数:

score = 90.5

print(f"我的成绩是{score:f}分。")

可以使用{:.2f}控制符将数字显示为小数点后保留两位的浮点数:

pi = 3.1415926

print(f"圆周率是{pi:.2f}。")

2.3 字符串格式化

除了数字外,还可以对字符串进行格式化输出。在使用字符串插值时,可以使用{:

name = "张三"

print(f"我的名字是{name:<10}。")

上面的代码中,使用{name:<10}将字符串{name}左对齐,并将宽度设置为10。

3. 格式字符串

格式字符串是Python中另一种常用的格式化输出方式。它可以通过format()方法创建,并通过位置或名称指定要插入的数据。例如:

name = "张三"

print("我的名字是{0}。我今年{1}岁。".format(name, 18))

上面的代码中,使用format()方法将name和18插入到字符串中,分别使用{0}和{1}表示它们的位置。

另外,还可以通过名称指定要插入的数据。例如:

person = {"name": "李四", "age": 20}

print("我的名字是{name}。我今年{age}岁。".format(**person))

在上面的代码中,首先定义了一个字典person,包含了name和age两个键值对。然后使用format()方法将其插入到字符串中,并使用{name}和{age}分别指代它们的名称。

3.1 数字格式化

在使用格式字符串时,也可以对数字进行格式化输出。格式控制符使用一对花括号{}包裹,并在其中使用冒号:指定具体的格式化方式。例如,可以使用{:d}控制符将整数显示为十进制整数:

age = 18

print("我今年{:d}岁。".format(age))

可以使用{:f}控制符将浮点数显示为定点数:

score = 90.5

print("我的成绩是{:f}分。".format(score))

可以使用{:.2f}控制符将数字显示为小数点后保留两位的浮点数:

pi = 3.1415926

print("圆周率是{:.2f}。".format(pi))

3.2 字符串格式化

在使用格式字符串时,也可以对字符串进行格式化输出。可以使用{:

name = "张三"

print("我的名字是{:<10}。".format(name))

上面的代码中,使用{:<10}将字符串{name}左对齐,并将宽度设置为10。

4. 模板字符串

模板字符串是Python中另一种格式化输出方式。它使用一对花括号{}来表示要插入变量或数据的位置,并使用$符号来标识变量或数据的名称。例如:

from string import Template

name = "张三"

age = 18

t = Template("我叫$name,今年$age岁。")

print(t.substitute(name=name, age=age))

在上面的代码中,首先从string模块中导入Template类。然后使用Template类创建一个模板字符串t,并在其中使用$符号来表示变量或数据的名称。最后通过substitute()方法将变量或数据插入到字符串中。

4.1 数字格式化

在使用模板字符串时,也可以对数字进行格式化输出。可以使用$d控制符将整数显示为十进制整数:

from string import Template

age = 18

t = Template("我今年$d岁。")

print(t.substitute(d=age))

可以使用$f控制符将浮点数显示为定点数:

from string import Template

score = 90.5

t = Template("我的成绩是$f分。")

print(t.substitute(f=score))

可以使用$.2f控制符将数字显示为小数点后保留两位的浮点数:

from string import Template

pi = 3.1415926

t = Template("圆周率是$.2f。")

print(t.substitute(pi=pi))

4.2 字符串格式化

在使用模板字符串时,也可以对字符串进行格式化输出。可以使用$width控制符指定字符串的宽度,并使用<符号将字符串左对齐。

from string import Template

name = "张三"

t = Template("我的名字是$<10。")

print(t.substitute(name=name))

在上面的代码中,使用$<10将字符串$name左对齐,并将宽度设置为10。

5. 总结

本篇文章介绍了Python中常用的三种格式化输出方法:字符串插值、格式字符串和模板字符串。字符串插值是最简单的格式化输出方式,但灵活性较差。格式字符串则在灵活性和易读性之间取得了一个平衡。模板字符串则是使用$符号来替代花括号{},适用于一些分隔符与原始字符串相同的情况。

无论使用哪种格式化输出方式,都有广泛的格式化控制符可以选择。在适当的情况下,选择正确的控制符可以有效地提高代码的可读性和可维护性。

后端开发标签