您的位置:

Python 3格式化输出

Python是一种动态、面向对象、解释型和高级语言,因为其简单、易读、安全和可扩展等特点,越来越受到开发者的欢迎。Python中的输出功能非常强大,可以在控制台中显示从简单的字符串到复杂的数据结构。 Python提供了多种方法来格式化和输出这些信息,这些方法都经过精心设计,可以让程序员轻松地扩展代码。

一、格式化方法

在Python中,有四种主要格式化方法可以用来控制输出的外观:使用百分号(%)运算符、使用format方法、使用字符串插值和使用f字符串。

1. 使用%符号运算符

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

输出:My name is jack and I am 21 years old.

在此示例中,%s在输出中代表字符串,%d代表整数。 %后面的数据类型定义了要替换的参数的类型。 在代码中,字符串名称和年龄值都由变量提供。

2. 使用format方法

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

输出:My name is jack and I am 21 years old.

在此示例中,花括号 {}被用作换行符,这个方法与上述%号方法的工作方式非常相似,但是更加灵活。您可以使用这种格式化方式来传递任意数量的参数,并且参数可以是任何类型,包括自定义类。

3. 使用字符串插值

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

输出:My name is jack and I am 21 years old.

字符串插值在Python中可以使用f字符串来实现。在f字符串中,花括号括起来的变量名代表要插入的变量。使用此方法时,您会发现代码的可读性更高,因为您可以直接看到代码应该输出的结果。

二、格式化符号

在上述示例中,我们使用了%s和%d来代表变量。然而在Python中,有多个符号可以用来实现不同的格式化要求。

1. %s表示字符串

name = "jack"
print("Hello, %s!" % name)

输出:Hello,jack!

2. %d表示数字(整数)

x = 42
print("The answer is %d" % x)

输出:The answer is 42

3. %f表示浮点数

pi = 3.1415926535
print("The value of pi is %f" % pi)

输出:The value of pi is 3.141593

4. %e表示科学计数法

pi = 3.1415926535
print("The value of pi is %e" % pi)

输出:The value of pi is 3.141593e+00

三、格式化选项

在上述示例中,您了解了一些基本的格式化符号,但是Python还为您提供了一些选项来帮助您更好地定义输出格式,包括小数点位数、宽度、左对齐/右对齐以及填充字符。

1. 宽度

宽度选项允许您定义输出的最小宽度。

x = 42
print("The answer is %5d" % x)

输出:The answer is 42

在此示例中,%5d的输出被格式化为5个空格加上值42。由于42只有两个字符,因此结果是在左侧添加了3个空格。

2. 小数点位数

尽管可以使用%f格式将浮点数四舍五入到小数点后六位,然而我们可以使用.(点)操作符将浮点数四舍五入到指定的小数点位数。

pi = 3.1415926535
print("The value of pi is %.2f" % pi)

输出:The value of pi is 3.14

3. 左对齐/右对齐

可以使用两个中括号[[ ]]来指定要输出的值的位置。单个 代表左对齐,^代表居中,>代表右对齐。

x = 42
print("The answer is [%5d]" % x)
print("The answer is [%-5d]" % x)
print("The answer is [%05d]" % x)

输出:

The answer is [ 42]

The answer is [42 ]

The answer is [00042]

4. 填充字符

在上述示例中,我们使用了一个空格作为默认填充字符。但是,您可以使用任何字符来填充输出。

x = 42
print("The answer is [%05d]" % x)
print("The answer is [%*d]" % (5, x))
print("The answer is [%0*d]" % (5, x))
print("The answer is [%-5d]" % x)
print("The answer is [%-*d]" % (5, x))

输出:

The answer is [00042]

The answer is [ 42]

The answer is [00042]

The answer is [42 ]

The answer is [42 ]

总结

Python提供了多种方法来格式化和输出信息。不同的方法可以选择不同的符号,并使用各种选项来定义输出格式。您可以根据应用程序的需求选择最合适的方法。