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中常用的三种格式化输出方法:字符串插值、格式字符串和模板字符串。字符串插值是最简单的格式化输出方式,但灵活性较差。格式字符串则在灵活性和易读性之间取得了一个平衡。模板字符串则是使用$符号来替代花括号{},适用于一些分隔符与原始字符串相同的情况。
无论使用哪种格式化输出方式,都有广泛的格式化控制符可以选择。在适当的情况下,选择正确的控制符可以有效地提高代码的可读性和可维护性。