Python-输出格式化
前言
我们在使用print
输出结果的时候,有时候会需要指定特定的格式。比如打印保留两位小数,这时候可能会直接想到round
方法将结果多进行一次处理。事实上还有更简单的格式化方法。
1 | print(f'{num1:.2f}') |
本篇博客会总结一些常用的输出格式化形式。
大数字格式化
假设你定义了一个值为10000000000
的变量。如果直接输出的话非常不直观,因为你很难一次性看清到底有多少个零。
在生活中我们常见处理方法是每三个零添加一个分隔符,如10,000,000,000
Python中也提供了相应的方法:
1 | num: int = 10000000000 |
事实上默认只支持这两个分隔符
字符串格式化
有时候字符串输出长短不一,为了美观输出,我们通常会使用\t
制表符(相当于八个字符长度)来填充字符来达到整齐格式输出的效果。
现在有了更加简便的方法:
1 | var: str = 'Hello' |
其中数字10表示将输出填充到10个字符,假如字符串不到10个字符,默认使用空格进行填充,也可以在冒号后指定符号进行填充,如:_
,.
,*
。
中间的符号含义为:
- ^ 居中对齐
- < 左对齐
- > 右对齐
这样可以灵活定制各种输出格式
1 | print(f"{var:_>10}World") # _____HelloWorld |
日期格式化
我们使用各种时间库获取的时间都是时间戳的形式,可以使用各种哭将其转化为我们想要的格式
1 | from datetime import datetime |
如果只想输出的话,可以使用更加简单的方法:
1 | from datetime import datetime |
关键参数的解释:
- %Y-%m-%d 依次为 年-月-日
- %H:%M:%S 依次为 时-分-秒 默认为24小时制
- %p 表示上午或下午的标识,AM 或 PM。
- %c 表示日期和时间的完整格式,例如:’Tue Aug 16 21:30:00 1988’。
- %x 表示日期(月/日/年)的格式
- %I 表示12小时制
- %H 表示24小时制
- %A 表示星期
可以使用这些参数灵活输出时间信息。
1 | print(f'{now:%Y-%m-%d %I:%M:%S %p}') # 2024-05-23 04:44:10 PM |
浮点数格式化
根据项目要求的精度的不同,我们可能需要不同的精度格式。
1 | n: float = 1234.5678 |
甚至支持进制的相互转化
1 | num: int = 10000000000 |
奇怪的特性
我们在输出等式的时候一般都会这么做
1 | a:int = 2 |
事实上在Python3.8之后引入了一个新的特性,我们可以省去前面的说明文字,直接使用{表达式=}
的形式
1 | a: int = 5 |
评论