- 格式字符串
- 简单格式化输出
i = 'hello python'
print('{}'.format(i))
打印输出
hello python
i = 'hello python'
print('---{}***'.format(i))
花括号外的字段直接输入:
---hello python***
实例一:
name = '小米'
age = 18
print('我的名字叫{},今年{}岁!'.format(name, age))
我的名字叫小米,今年18岁!
- 可以使用索引的方式来指定输出顺序
我的名字叫小米,今年18岁!
我的名字叫18,今年小米岁!
- 可以使用别名的方式来指定输出顺序
name = '小米'
age = 18
print('我的名字叫{str_name},今年{str_age}岁!'
.format(str_name=name, str_age=age))
print('我的名字叫{str_age},今年{str_name}岁!'
.format(str_name=name, str_age=age))
- 对齐选项
选项 | 含义 |
‘<’ | 强制字段在可用空间内左对齐(这是大多数对象的默认值)。 |
‘>’ | 强制字段在可用空间内右对齐(这是数字的默认值)。 |
‘=’ | 强制将填充放置在符号(如果有)之后但在数字之前。这用于以“+000000120”形式打印字段。此对齐选项仅对数字类型有效。当’0’紧接在字段宽度之前时,它成为默认值。 |
‘^’ | 强制字段在可用空间内居中。 |
i = 'hello python'
print('{:<20}'.format(i))
print('{:>20}'.format(i))
print('{:^20}'.format(i))
hello python
hello python
hello python
实例二:
- 浮点数精度表示
i = 3.14159
print('{:.2f}'.format(i))
保留两位小数
3.14
实例三:
打印一个 数字.字母 的id
['0001.orlxkejbza',
'0002.uvuwkjvxvc',
'0003.gecxdncvcs']
- 填充:
只能是一个字符
不指定默认用空格填充
如果指定填充字符,则必须要同时指定对齐方式
import random
import string
print(
['{0:04}.{1}'.format(
i,
''.join(random.choices(string.ascii_lowercase, k=10))
)
for i in range(1, 10)]
)
等价(右对齐)
实例四:
格式化输出时间
import datetime
now = datetime.datetime.now()
print(now)
print('{:%Y:%m:%d %H-%M-%S}'.format(now))
2020-04-10 11:04:29.876145
2020:04:10 11-04-29
指令 | 含义 |
%y | 补零后,以十进制数表示的,不带世纪的年份。00, 01, …, 99 |
%Y | 十进制数表示的带世纪的年份。0001, 0002, …, 2013, 2014, …, 9998, 9999 |
%m | 补零后,以十进制数显示的月份。01, 02, …, 12 |
%H | 以补零后的十进制数表示的小时(24 小时制)。00, 01, …, 23 |
%M | 补零后,以十进制数显示的分钟。00, 01, …, 59 |
%S | 补零后,以十进制数显示的秒。00, 01, …, 59 |
%d | 补零后,以十进制数显示的月份中的一天。01, 02, …, 31 |