Year {} Rs. {:.2f}".format(year, value)
称为字符串格式化,大括号和其中的字符会被替换成传入 str.format()
的参数,也即 year
和 value
。其中 {:.2f}
的意思是替换为 2 位精度的浮点数。
format:字符串格式化
例子:
print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字
grade = {'name' : '陈某某', 'fenshu': '59'}
print('{name}电工考了{fenshu}'.format(**grade))#通过关键字,可用字典当关键字传入值时,在字典前加**即可
:[填充字符][对齐方式 <^>][宽度]
>>> '{0:*>10}'.format('test') ##右对齐,
'********test'
>>> '{0:*<10}'.format('test') ##左对齐
'test********'
>>> '{0:*^10}'.format('test') ##居中对齐
'****test****'
>>> '{1:*^10}'.format('test', 'aaa') ##居中对齐
'****aaa****'
这个例子里面, *是填充字符, ><^分别是右对齐,左对齐和居中, 10是指宽度。冒号(:)前面的数字(0和1)代表的format里面的第几个值的index。
精度和进制
>>> '{0:.2f}'.format(1/3)
'0.33'
>>> '{0:b}'.format(10) #二进制
'1010'
>>> '{0:o}'.format(10) #八进制
'12'
>>> '{0:x}'.format(10) #16进制
'a'
>>> '{:,}'.format(12369132698) #千分位格式化
'12,369,132,698'
使用索引
>>> li
['hoho', 18]
>>> 'name is {0[0]} age is {0[1]}'.format(li)
'name is hoho age is 18
其中0代表的是format里面的参数下标,而[]里面的数字代表的是li的值的下标