Python 入门简明教程
1. 1. 与 Python 的第一次亲密接触-写给初学者 2. 2. Python 语法关键字 3. 3. Python 的注释和语法 4. 4. Python 基本数据类型 5. 5. Python 输入输出 6. 6. Python 运算符 7. 7. Python 变量 8. 8. Python 命名空间和变量生存范围 9. 9. Python 逻辑判断 10. 10. Python For 循环语法 11. 11. Python While 循环语法 12. 12. Python 循环语法中 break 与 continue的使用 13. 14. Python 三目运算符 14. 15. Python 循环语法中 pass 语句的使用 15. 16. Python 循环语法示例 16. 17. Python 函数 17. 18. Python main 函数 18. 19. Python print 函数 19. 20. Python print format 输出格式化 20. 21. Python print 输出到文件 21. 22. Python 输入 22. 23. Python import 导入模块 23. 25. Python 中递归的使用 24. 26. Python 匿名函数 25. 27. Python lambda 26. 28. Python PIP 包管理机制 27. 29. Python 命令行参数 28. 30. Python Numbers 包 29. 31. Python 随机数 30. 32. Python String 转 int 31. 34. Python 自定义异常 Exception 32. 35. Python 继承 33. 36. Python 父类 34. 38. Python 操作符重载 35. 39. Python __str__ and __repr__

20. Python print format 输出格式化

在本课中,我们将学习Python打印格式的各种方法,通过这些方法,我们可以在控制台上打印数据并对其进行插值。

Python打印格式

简单打印格式在任何语言中听起来都是一个小功能,但却是日常程序中最常用的功能之一。如果一种语言支持简单的打印格式,这将是程序员的天堂!让我们继续研究一些格式化的例子。

请注意,所有示例都是在Python3.6上测试的。其中一些可能在Python2.x中不起作用,因为它们只是在Python3中引入的。

Python打印格式示例

让我们从简单的例子开始我们的旅程,并在缓慢的基础上再接再厉。

Python打印多个值

一个简单的例子是打印多个值。让我们看看这是如何做到的:


>>> a = 1
>>> b = 1.2
>>> c = "Python"
>>> print(a, b, c)

运行此脚本时,将获得以下结果:

在打印中分隔多个值

在上一个脚本中,我们看到了如何打印多个值。这里有一点修改:


>>> a = 1
>>> b = 1.2
>>> c = "Python"
>>> print(a, b, c, sep=",")

运行此脚本时,将获得以下结果:

看起来更干净,对吧?

Python打印格式值插值

我们可以很容易地在打印格式中插入任何类型的值。让我们看看这是如何做到的:


name = "Shubham"
best_place = "JournalDev"
print("My name is {} and best place to study programming is {}".format(name, best_place))

输出是干净的:

有更多的方法可以做到这一点。以下是对脚本的一点修改:


name = "Shubham"
best_place = "JournalDev"
print("My name is {0} and best place to study programming is {1}".format(name, best_place))

打印格式输出将与上一个程序相同。

实际上,我们甚至可以修改格式中值的顺序元组作为:


name = "Shubham"
best_place = "JournalDev"
print("Best place to study programming is {1}, my name is {0}".format(name, best_place))

输出相同:

价值取向

我们甚至可以对我们的输出应用对齐。让我们看看这里的一些示例,以使我们的输出居中对齐:


name = "{:^20}".format("journaldev")
print(name)

输出将是:

如果您自己运行程序,您会注意到journaldev is actually 10 characters long, there 5 gaps before and 5 gaps after the String. Also, 20 decides the total length of the output including the String.

签名号码

我们也可以打印带符号的数字。让我们看看这里的一些例子:


print("{:+d}".format(42))

输出将是:

词典格式

我们也可以格式化python字典价值观。让我们看看这里的一些例子:


stark = {"first": "Ned", "second": "Brandon", "third": "Rob"}
print("{first} {third}".format(**stark))

输出将是:

日期时间格式

我们也可以格式化日期时间价值观。让我们看看这里的一些代码片段:


from datetime import datetime
print("{:%Y-%m-%d %H:%M}".format(datetime(2017, 12, 7, 13, 22)))

输出将是:

这使我们能够以内联方式格式化日期时间值。此格式化选项在Python2.6之前不可用。

我们可以尝试使用DateTime的另一个格式选项,使用该选项可以为日期和时间提供单独的选项:


from datetime import datetime
myDate = datetime(2017, 12, 7, 13, 22)
print("{:{dfmt} {tfmt}}".format(myDate, dfmt="%Y-%m-%d", tfmt="%H:%M"))

输出将与前一幅图像相同。

十进制格式

我们还可以将十进制值格式化到一个精度点。让我们看看这里的一些代码片段:


value = "{:{width}.{prec}f}".format(3.1428, width=5, prec=2)
print(value)

输出将是: 当我们不确定答案时,我们甚至可以不提供宽度。

Python打印格式摘要

在这节关于Python打印格式的课程中,我们了解了如何以常见的方式格式化值。用它们美化输出。

参考文献:API文件