Python print 的常见格式说明符有哪些

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Python 的 print() 函数是输出信息的强大工具,但你知道吗,你可以使用各种格式说明符来自定义输出格式?在本教程中,我们将深入探讨 Python print() 函数中使用的常见格式说明符,并通过实际示例来帮助你有效地格式化程序的输出。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") subgraph Lab Skills python/strings -.-> lab-397708{{"Python print 的常见格式说明符有哪些"}} python/type_conversion -.-> lab-397708{{"Python print 的常见格式说明符有哪些"}} end

Python print() 函数简介

print() 函数是 Python 中的一个内置函数,用于在控制台或终端显示输出。它是 Python 编程中最基本、最常用的函数之一。print() 函数可用于显示各种类型的数据,包括字符串、整数、浮点数,甚至像列表和字典这样的复杂数据结构。

print() 函数的基本语法如下:

print(value1, value2,..., sep=' ', end='\n', file=sys.stdout, flush=False)

以下是对不同参数的详细说明:

  • value1value2 等:要打印的值,可以是任何数据类型。
  • sep:用于分隔值的分隔字符,默认为空格(' ')。
  • end:用于终止行的字符,默认为换行符('\n')。
  • file:输出写入的类文件对象,默认为 sys.stdout(控制台或终端)。
  • flush:一个布尔值,用于确定输出是否立即刷新(强制写入缓冲区)。

print() 函数是一个多功能工具,可用于多种场景,例如:

  • 在程序执行期间显示信息性消息
  • 打印计算结果或数据处理结果
  • 记录或调试信息
  • 生成用于进一步处理或分析的输出

在以下部分中,我们将探讨可在 print() 函数中使用的常见格式说明符,以自定义输出。

print() 中的常见格式说明符

Python 中的 print() 函数支持各种格式说明符,可让你自定义输出。这些格式说明符放在传递给 print() 函数的值中,由 % 字符后跟特定格式代码表示。

以下是一些可与 print() 函数一起使用的常见格式说明符:

字符串格式化

  • %s:将值格式化为字符串。
  • %r:使用 repr() 函数格式化值,该函数显示对象的 “原始” 表示形式。

数字格式化

  • %d:将值格式化为十进制整数。
  • %f:将值格式化为浮点数。
  • %e:以科学记数法格式化值(例如,1.234000e+01)。
  • %g:使用 %f%e 中较短的格式来格式化值。

其他格式化

  • %%:打印一个字面 % 字符。

以下是在 print() 函数中使用这些格式说明符的示例:

name = "LabEx"
age = 5
pi = 3.14159

print("My name is %s and I am %d years old." % (name, age))
print("The value of pi is approximately %f." % pi)
print("The value of pi is approximately %.2f." % pi)
print("This is a %%s format specifier.")

输出:

My name is LabEx and I am 5 years old.
The value of pi is approximately 3.141590.
The value of pi is approximately 3.14.
This is a %s format specifier.

在上面的示例中,我们使用 %s 格式说明符插入 name 变量,使用 %d 格式说明符插入 age 变量,使用 %f 格式说明符插入 pi 变量。我们还演示了使用 %.2f 格式说明符来限制显示的小数位数,以及使用 %% 格式说明符来打印字面 % 字符。

实际示例和用例

带有格式说明符的 print() 函数可用于各种实际场景。以下是一些示例:

格式化数值数据

假设你有一个股票价格列表,并且你想以美观的格式显示它们:

stock_prices = [120.45, 98.76, 135.23, 87.54]

for price in stock_prices:
    print("The stock price is $%.2f" % price)

输出:

The stock price is $120.45
The stock price is $98.76
The stock price is $135.23
The stock price is $87.54

在这个示例中,我们使用 %.2f 格式说明符来限制每个股票价格显示的小数位数。

格式化字符串

你还可以使用格式说明符来自定义字符串数据的显示:

name = "LabEx"
age = 5
print("My name is %s and I am %d years old." % (name, age))

输出:

My name is LabEx and I am 5 years old.

在这里,我们使用 %s 格式说明符插入 name 变量,使用 %d 格式说明符插入 age 变量。

格式化日期时间对象

print() 函数也可用于格式化日期时间对象:

import datetime

current_date = datetime.datetime.now()
print("The current date and time is %s." % current_date)
print("The current date and time is %Y-%m-%d %H:%M:%S." % current_date)

输出:

The current date and time is 2023-04-17 12:34:56.789012.
The current date and time is 2023-04-17 12:34:56.

在这个示例中,我们使用 %s 格式说明符显示完整的日期时间对象,使用 %Y-%m-%d %H:%M:%S 格式说明符以特定格式显示日期时间。

这些只是一些示例,展示了你如何使用带有格式说明符的 print() 函数来自定义 Python 程序的输出。可能性是无穷的,并且格式说明符可以组合和嵌套以实现所需的输出。

总结

Python 的 print() 函数提供了多种格式说明符,可让你自定义程序的输出。通过理解这些说明符,你可以创建更具可读性和信息丰富的输出,从而更轻松地调试、分析和展示你的 Python 代码。无论你是初学者还是经验丰富的 Python 开发者,掌握在 print() 函数中使用格式说明符都能极大地提升你的编程技能。