fotmat作为Python的的格式字符串函数,主要通过字符串中的花括号{},来识别和替换字段,从而完成字符串的格式化。
1通过位置来匹配填充
因为是函数,那么format中传入的实参就需要与{}的位置一一对应。
# -*- coding: utf-8 -*-
person = "{} is a {},his age is {}".format('jack', 'Boy','20')
print(person)
jack is a Boy,his age is 20
2.通过索引匹配参数
索引是指的format内容中的元素索引位置
# -*- coding: utf-8 -*-
#索引0,1,2分别对应format中的元素位置
person = "{0} is a {1},his age is {2}".format('jack', 'Boy','20')
print(person)
jack is a Boy,his age is 20
3. 通过名字匹配参数
这个有点像函数中的关键词参数
person="{name} is a {sex},age is {age}".format(name='jack',sex='boy',age='20')
print person
jack is a boy,age is 20
4.访问列表中的元素
list=['jack','boy','20']
person="{0[0]} is a {0[1]},age is {0[2]}".format(list)
print person
jack is a boy,age is 20
5.访问字典中的元素
people = {"name": "jack", "age": 20}
info="My name is {p[name]} and my age is {p[age]}".format(p=people)
print info
My name is jack and my age is 20
6.访问元组中的元素
a = (1,2)
info='x: {0[0]}; y: {0[1]}'.format(a)
print info
X: 1; Y: 2
7.截断字符串
截取前n个字符
方法:'{:.n}'.format(字符串)
#截取前5个字符
a='{:.5}'.format('Hello world')
print a
Hello
8.数字格式化
#保留小数点后两位
print("{:.2f}".format(1.23456))
#以二进制输出
print("{:b}".format(123))
#以八进制输出
print("{:o}".format(123456))
#以十六进制输出
print("{:x}".format(123456))
# 输出千分位分隔符
print("{:,}".format(123456))
#以科学记数法输出
print("{:e}".format(123456))
#表示一个百分比
print('{:.2%}'.format(0.123456))
1.23
1111011
361100
1e240
123,456
1.234560e+05
1.234560e+05
12.35%
9.时间格式化
import datetime
d = datetime.datetime(2022, 1, 2, 10, 50, 52)
print('{:%Y-%m-%d %H:%M:%S}'.format(d))
2022-01-02 10:50:52