c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python中格式化字符串输出的方式有哪些

更新时间:2023-11-29

Python格式化输出

Python是一种面向对象、解释型语言,允许开发者选择多种方式来输出其结果。字符串格式化输出是表达和展示程序输出的有用方式。Python提供多种字符串格式化方法。其基本功能为使输出值符合指定格式或样式。下面介绍Python的几种格式化字符串的方式及用法。

1. 格式化字符串使用百分号( %)

Python中最初的字符串格式化使用百分号(%)作为占位符,指示需要替换成实际值的位置。这种 % 操作符可以在很多不同的值类型中使用,包括字符串、整数、浮点数和元组。

以下是一个简单的 % 方法字符串格式化示例:

name = "Tom"
age = 16
print("My name is %s and I am %d years old." % (name, age))
输出结果:
My name is Tom and I am 16 years old.
在这个例子中,我们使用了字符串中的占位符 `%s` 和 `%d`,分别用于替代字符串和数字值。如此,位置和值就对应起来。如果有多个待替换的值,需要将这些值放在括号中,并使用逗号分隔。

2. 使用 format() 方法格式化字符串

Python 2.6 之后添加了一个新的字符串格式化方法,称作字符串的format()方法。可以使用大括号({})代替百分号(%)占位符,更加容易读懂和掌握。

以下是 format() 方法字符串格式化示例:

name = "Tom"
age = 16
print("My name is {} and I am {} years old.".format(name, age))
输出结果:
My name is Tom and I am 16 years old.
使用 format() 方法格式化字符串可以非常灵活地控制输出的结果。甚至可以使用数字参数设置要占用的位置并控制对齐。例如,使用 `{0:10}` 将选项放在第一位,并且总共占10个位置。 以下示例展示了如何使用format()方法格式化字符串,使其更加美观。
print("{0:10} | {1:10}".format("Item", "Price"))
print("{0:10} | {1:10}".format("-"*10, "-"*10))
print("{0:10} | {1:10.2f}".format("Toy", 12.73))
print("{0:10} | {1:10.2f}".format("Milk", 5.78))
输出结果:
Item       | Price     
---------- | ----------
Toy        |      12.73
Milk       |       5.78

3. 使用 f-string(格式化字符串字面值)

Python 3.6 之后添加了 f-string(格式化字符串字面值)语法。当使用 f-string 格式化字符串时,可以在 {} 内嵌入任何表达式,并可以访问变量和运行任何表达式的代码。可以高效地编写可读性更高的代码,代码更为简洁,易于理解。

以下是 f-string(格式化字符串字面量)字符串格式化示例:

name = "Tom"
age = 16
print(f"My name is {name} and I am {age} years old.")
输出结果:
My name is Tom and I am 16 years old.
f-string(格式化字符串字面量)的优点在于其简化了代码并且具有更高的可读性。相对于其他字符串格式化方式,在需要处理复杂表达式时,在行数上更高效率。

4. 使用 Template 类

Python 还提供了一种使用 Template 类的方式进行字符串格式化。使用该方法需要先读取字符串模板,然后将变量替换为对应的值,如果不需要处理复杂的逻辑,那么该方法的执行效率最高。

以下是 Template 类字符串格式化示例:

from string import Template

name = "Tom"
age = 16
message = Template("My name is $name and I am $age years old.")
print(message.substitute(name=name, age=age))
输出结果:
My name is Tom and I am 16 years old.
与其他方法不同,Template 方法使用了花括号数对的结构,需要使用 $ 符号标记占位符位置,并在执行时将实际值传入。

总结

Python 中格式化字符串输出的方式有很多,其中包括使用百分号(%)、使用 format() 方法格式化字符串、使用 f-string 格式化字符串、使用 Template 类等等。 另外,我们还可以通过使用格式规范来控制输出样式,如对齐、数值位数等,将输出结果更加美观。掌握不同的字符串格式化方法,使我们能够选择最适合自己需求的方式,写出高效且易于理解的程序。