Python - 输出格式化

欢迎,有抱负的程序员们!今天,我们将深入探讨Python输出格式化的精彩世界。作为您友好邻里的计算机教师,我将一步一步地引导您完成这次旅程。如果您是编程新手,也请不要担心——我们将从基础开始,逐步深入。所以,拿起您最爱的饮料,放松身心,让我们一起踏上这次Python的冒险之旅!

Python - Output Formatting

Python中的输出格式化

在我们深入细节之前,先来谈谈为什么输出格式化很重要。想象一下您正在烤蛋糕——当然,原料很重要,但是如何呈现它才是决定一切的关键!编程也是如此。您的代码可能运行得完美无缺,但以清晰可读的格式呈现输出可以使您的程序更加用户友好和专业。

基本的打印函数

让我们从Python中最基本的输出方式开始——print()函数。

print("Hello, World!")

这将输出:Hello, World!

很简单,对吧?但是如果我们想要更花哨一些呢?这就需要格式化了!

使用字符串模运算符(%)

字符串模运算符%是Python中最古老的格式化方法之一。它就像是格式化中的老爷车——有点老派,但仍然能够完成任务。

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

输出:My name is Alice and I am 25 years old.

在这里,%s是字符串的占位符,而%d是整数的占位符。这就像在句子中留下空白,然后稍后再填充!

使用format()方法

format()方法就像是模运算符的更酷、更年轻的兄弟。它更灵活,也更易于阅读。

name = "Bob"
age = 30
print("My name is {} and I am {} years old.".format(name, age))

输出:My name is Bob and I am 30 years old.

您也可以使用带编号的占位符:

print("The {0} in the {1} weighs {2} pounds.".format("cat", "hat", 5))

输出:The cat in the hat weighs 5 pounds.

使用F-字符串

F-字符串,自Python 3.6引入,是最新出现的。它们快速、可读,并且是我的个人最爱!

name = "Charlie"
age = 35
print(f"My name is {name} and I am {age} years old.")

输出:My name is Charlie and I am 35 years old.

F-字符串允许您将表达式直接放在花括号内:

x = 10
y = 20
print(f"The sum of {x} and {y} is {x + y}")

输出:The sum of 10 and 20 is 30

Python中的格式转换规则

有时,您需要转换数据类型进行格式化。Python为您提供了保障!

pi = 3.14159
print(f"Pi to two decimal places: {pi:.2f}")

输出:Pi to two decimal places: 3.14

以下是一些常见的格式说明符表:

说明符 描述
d 整数
f 浮点数
s 字符串
x 十六进制
o 八进制
e 科学计数法

模板字符串

模板字符串就像是Python的疯狂填词。当您处理用户输入或想要将格式与代码分离时,它们非常出色。

from string import Template

t = Template("$name is $age years old")
result = t.substitute(name="David", age=40)
print(result)

输出:David is 40 years old

textwrap模块

当处理长字符串时,textwrap模块是您的最佳助手。它帮助您包装和格式化文本,使其更易于阅读。

import textwrap

long_string = "This is a very long string that we want to wrap to make it more readable on the screen or in print."
wrapped = textwrap.wrap(long_string, width=30)

for line in wrapped:
print(line)

输出:

This is a very long string
that we want to wrap to make
it more readable on the
screen or in print.

shorten()函数

有时,您只需要截断一个字符串。shorten()函数非常适合这个:

import textwrap

long_string = "This is a very long string that we want to shorten."
shortened = textwrap.shorten(long_string, width=25, placeholder="...")
print(shortened)

输出:This is a very long...

pprint模块

最后但同样重要的是,让我们谈谈pprint(美化打印)模块。它非常适合以更易读的格式打印复杂数据结构。

from pprint import pprint

complex_data = {'name': 'Eve', 'age': 45, 'hobbies': ['reading', 'gaming', 'hiking'], 'family': {'spouse': 'Adam', 'children': ['Cain', 'Abel']}}

print("Regular print:")
print(complex_data)

print("\nPretty print:")
pprint(complex_data)

输出:

Regular print:
{'name': 'Eve', 'age': 45, 'hobbies': ['reading', 'gaming', 'hiking'], 'family': {'spouse': 'Adam', 'children': ['Cain', 'Abel']}}

Pretty print:
{'age': 45,
'family': {'children': ['Cain', 'Abel'], 'spouse': 'Adam'},
'hobbies': ['reading', 'gaming', 'hiking'],
'name': 'Eve'}

就这样,各位!我们已经穿越了Python输出格式化的领域,从基本的打印函数到花哨的pprint模块。请记住,良好的格式化就像是良好的礼仪——它使一切变得更加愉快和易于理解。

在您继续Python的冒险之旅时,请继续尝试这些格式化技巧。很快,您将能够创建不仅功能齐全,而且绝对美观的输出。祝您编程愉快,愿您的输出始终完美格式化!

Credits: Image by storyset